우선순위 큐와 힙
우선순위 큐와 큐이면서 데이터의 저장방식이 우선순위대로 저장되어 데이터를 꺼낼 때 우선순위가 높은 데이터를 먼저 꺼낼 수 있도록 합니다.
힙은 우선 완전 이진트리의 형태를 띄고 있습니다.
완전 이진트리는 노드의 값이 자식의 값보다 항상 크거나 같은 이진 트리를 말합니다 ( Max Heap )
균형 잡힌 이진 탐색 트리
균형 잡힌 이진 탐색 트리를 만들기 전에 트리에 균형 인수를 도입하여 트리가 얼마나 균형 잡혔는지 확인할 수 있습니다.
균형 인수 = 왼쪽 서브 트리의 높이 - 오른쪽 서브 트리의 높이
균형을 맞추는 방법에는 4가지가 있습니다.
- LL회전
- RR회전
- LR회전
- RL회전
해쉬 테이블
데이터의 탐색이 주로 필요한 환경에서 자주 사용되는 해쉬 테이블은 키 값으로 바로 데이터를 찾을 수 있다는 장점이 있습니다.
그리고 그 키 값을 실제로 참조할 수 있는 해쉬 값으로 바꾸는 것이 해쉬 함수입니다.
좋은 해쉬 함수라는 것은 해쉬 값이 고르게 나오는 함수입니다.
그런데 해쉬 값이 고르게 나오기 위해서는 키 값을 일부만 사용하도록 하기도 합니다.
예를 들어 데이터들의 키 값들이 Alpha-1523, Alpha-5261, Alpha-9281 ... 식이라고 한다면
중복되는 Alpha- 영역을 제외한 나머지를 이용하는 것이 효율적일 수 있습니다.
이러한 방법은 자릿수 선택 방법이라고 합니다.
다른 방법으로는 자릿수 폴딩 방법이 있는데
예를 들어 데이터의 키 값이 596214 이라고 하면
두자리씩 겹치게 하여 59 + 62 + 14 = 135 를 해쉬 값으로 쓰는 방법이 있습니다.
그래프
그래프는 정점과 간선이 있는 형태의 데이터를 표현하기 좋다.
그래프는 인접행렬이나 인접 리스트로 표현할 수 있다.
각각 정방 행렬과 연결 리스트를 활용한다.
'학습 > 컴퓨터공학' 카테고리의 다른 글
프로그래밍 기초와 실습 (4) | 2022.02.17 |
---|---|
컴퓨터공학 학습 정리 및 가이드 Intro (0) | 2022.02.16 |
인공지능 기말 2017-1 요약 (0) | 2017.06.15 |
데이터베이스 기말 2017-1 요약 (0) | 2017.06.15 |
인공지능 중간고사영역 요약 (0) | 2017.05.02 |