목록IT Study/Data Structure 3
Game Tech Blog

Binary Search Tree? 레드 블랙 트리를 배우기 전 알아야할 자료구조. 이진 검색 트리는 저장과 검색에 평균 OLogN , 최악 ON 의 비교적 불완전한 구조를 가진다. 이 불 완전성을 해결하기 위해 고안된 것이 균형잡힌 이진트리 이다. 균형잡힌 이진트리로 대표적인 것은 레드 블랙 트리, AVL 트리이다. 여기서는 레드 블랙 트리를 다룬다. 이 Tree 에서 중위 순회왼쪽자식−>부모−>오른쪽자식를 할 때, 다음과 같은 Key를 얻는다. 결과 : 20 -> 30 -> 40 -> 50 -> 60 -> 80 이를 다시 트리에 넣게 되면, 다음과 같은 최악의 구조가 나온다. 이 Depth 를 Balance 있게 잡아줄 트리라고 생각하면 된다. Red Black Tree ? 기본은 ..

Hasing ? - 임의의 길이의 값을 해시함수를 사용하여 고정된 크기의 값으로 변환하는 작업 Hash Table ? - 해시 함수를 사용하여 변환 값을 Index 로 삼아 Key, Value를 저장하는 자료구조 - 기본연산으로는 탐색, 삽입, 삭제 등이 존재 - 저장된 데이터를 찾을 때, hash_function을 한번만 수행하면 array내 저장된 Index위치를 찾아낼 수 있어서 탐색이 O1 이다. - 순차 검색에 비해 비교도 안될정도로 빠르다. 해쉬 함수의 알고리즘 - Division Method 나눗셈법 입력 값을 테이블의 크기로 나누고 그 나머지를 테이블의 인덱스로 이용하는 알고리즘 // 인덱스 해시값 = 입력 값 % 테이블의 크기 - Digit Folding 자릿수접기 숫..
Dictionary ? - Dictionary 란 Key, Value 로 나누어진 값으로 이루어져 있다. Python 에서 사용된다고 한다. - Vector, List , Array 에서는 숫자 인덱스로 Value 를 참조했으나, Dictionary 에서는 문자로 값을 참조할 수 있다고 한다. Dictionary Vs Map - 공통 1. Key , Value 를 가지고 있으며, Key로 찾아서 Value를 참조하는 자료구조 2. 중복 Key 값이 존재할 때 값을 넣지 않는다. 중복Key불허함,Key의Unique한성질을보장해야함 - 차이 - Map 1. Key값을 기준으로 요소들이 추가,삽입,삭제될 때, 재정렬을 수행한다. 2. 내부가 트리로 구성된다 레드블랙트리로구성 3. 트리로..