본문 바로가기

Java/자료구조2

자료구조) Queue Queue 삽입과 삭제 연산이 선입선출(FIFO)로 이뤄지는 자료구조. 삽입과 삭제가 양방향에서 이뤄진다. 너비 우선 탐색에서 자주 사용된다. 우선순위 Queue (Priority Queue) 값이 들어간 순서와 상관 없이 우선순위가 높은 데이터가 먼저 나오는 자료구조. 우선순위에 따라 처리해야 할 때 사용 ex) 값이 높은 물건부터 꺼내서 확인해야 하는 경우 큐 설정에 따라 front에 항상 최댓값 또는 최솟값이 위치한다. 우선순위 큐는 리스트 또는 힙을 이용하여 구현한다. 일반적으로는 힙을 이용하여 구현. 구현 방식 삽입 시간 삭제 시간 리스트 O(1) O(N) 힙 O(logN) O(logN) 힙의 특징 힙은 완전 이진 트리 자료구조의 일종이다. 힙에서는 항상 루트 노드를 제거한다. 최소 힙은 루트 .. 2023. 10. 12.
자료구조) 스택과 큐 스택 삽입과 삭제 연산이 후입선출로 이뤄지는 자료구조(LIFO). 삽입과 삭제가 한 쪽에서만 일어남. 깊이 우선 탐색(DFS), 백트래킹 종류의 코테에서 효과적. 후입선출은 개념 자체가 재귀 함수 알고리즘 원리와 일맥상통하기 때문 top: 삽입과 삭제가 일어나는 위치를 지칭하는 단어 push: top 위치에 새로운 데이터를 삽입하는 연산 pop: top 위치에 현재 있는 데이터를 삭제하고 확인하는 연산 peek: top 위치에 현재 있는 데이터를 단순 확인하는 연산 큐 삽입과 삭제 연산이 선입선출로 이뤄지는 자료구조(FIFO). 삽입과 삭제가 양방향에서 이뤄짐 너비 우선 탐색(BFS)에 자주 사용 rear: 큐에서 가장 끝 데이터를 가리키는 영역 (입구) front: 큐에서 가장 앞의 데이터를 가리키는 .. 2023. 9. 22.