Notice
Recent Posts
Recent Comments
Link
CodeClover
큐 생성 방법들 (BFS구현시 기초 내용) 본문
큐 생성 방법 ( 3 )
LinkedList 사용한 큐 생성 ( => BFS 구현시 주로 사용 )
Queue<int[]> queue = new LinkedList<>();
요소의 삽입과 삭제가 빠르다는 장점 ( O(1) )
요소 접근이 느리다는 단점 ( O(n) )
ex . bfs 구현 ( 큐의 요소를 빈번하게 추가하고 제거하기 때문에 요소의 삽입과 삭제가 빠른 LinkedList 를 주로 사용한다. )
PriorityQueue 사용한 큐 생성
Queue<int[]> queue = new PriorityQueue<>();
요소가 우선순위에 따라서 정렬되어 처리된다는 장점
삽입과 삭제가 비교적 느리다는 단점
ex . 다익스트라 알고리즘 처럼 우선순위가 중요한 경우
ArrayDeque 사용한 큐 생성
Queue<int[]> queue = new ArrayDeque<>();
요소의 삽입과 삭제가 및 접근이 빠르다. ( O(1) )
용량이 초과되면 배열을 재할당해야하는 단점
ex . bfs 구현 , 덱