Hash 자료구조 - java
알고리즘 2022. 2. 6. 10:49

Hash 자료구조란? key와 Value 가 쌍을 이루는 자료구조 key 탐색의 시간복잡도가 O(1) 이다. key 삭제의 시간복잡도가 O(1) 이다. key와 Value 삽입의 시간복잡도가 O(1) 이다. Hash 자료구조의 경우 검색과 삽입, 삭제 연산을 엄청 빠르게 하는 자료구조라고 할 수 있다. 위에서 기술했듯이 상수시간에 데이터를 검색하는데, 이것은 Hash 자료구조의 특성 덕분이다. Hash 자료구조에 Key 와 Value 를 삽입하려면, 우선 key에 해당하는 데이터를 Hash Function (해시 함수) 를 통해 Hash Code 로 변환한 뒤에, 자료구조 크기로 % 연산을 통해 해당 데이터를 저장할 index 를 구한다. 그리고 Value 를 해당 index 에 저장한다. Hash Co..

자료구조 - 힙 (Heap) java
알고리즘 2022. 2. 4. 11:37

우선순위 큐란? 자료가 들어오는 순서와 상관없이, 우선순위가 제일 높은 데이터가 먼저 빠져나간다 우선순위 큐의 활용사례 네트워크 트래픽 제어 운영 체제에서 프로세스 스케줄링 시뮬레이션 자료구조 삭제되는 데이터 스택(Stack) 가장 최근에 들어온 데이터 (Last In First Out) 큐(Queue) 가장 먼저 들어온 데이터 (First In First Out) 우선순위 큐(Queue) 우선순위가 제일 높은 데이터 힙이란? 완전 이진 트리로, 우선순위 큐를 위하여 만들어진 자료구조이다. 우선순위가 제일 높은 데이터를 바로 찾아내도록 만들어진 자료구조다 힙은 일종의 반정렬 상태를 유지한다. 우선순위가 제일 높은 값이 루트 노드에 존재한다. 부모 노드가 자식 노드보다 우선순위가 높지만, 완전히 정렬된 상..