본문 바로가기

[알고리즘] 2.2.자료구조 : 연결리스트를 이용한 큐(Queue) 구현 큐 이해하기 2017/01/30 - [Programming/Algorithm] - [알고리즘] 2.2.자료구조 : 큐(Queue) 연결리스트를 이용한 큐 구현 배열로 구현한 큐의 단점은 크기를 미리 정해야 하고, 그 크기를 넘어서면 error가 발생한다는 것입니다. 반면 연결리스트로 구현하면 큐의 크기(size)를 미리 정할 필요가 없습니다. 위의 그림의 100번지, 200번지에 해당하는 것이 node인데 이 node는 앞의 게시물인 스택에서 구현한 노드class를 가져다 사용하겠습니다. //연결 리스트로 사용 할 노드 classpublic class Node {private Object data;private Node nextNode;public Node(Object data){this.data = d.. 더보기
[알고리즘] 2.2.자료구조 : 큐(Queue) 이해하기 개요 큐의 구조는 스택과 다르게 '선입선출'의 구조를 가지고 있습니다. 스택은 막힌 박스와 같아 먼저 들어온 것이 가장 나중에 나가는 구조지만, 큐는 먼저 들어온 것이 먼저 나가는 구조입니다. 좋은 예로 은행에 있는 번호표가 있습니다. 은행에 방문하여 기다리는데, 저보다 늦게 온 다른 분이 먼저 업무를 본다면 기분이 나쁘겠죠? 이러한 상황을 만들지 않기 위해 은행에서는 번호표를 나눠줍니다. 먼저 온 손님은 늦게 온 손님보다 먼저 서비스를 받게 하기 위해서죠. 이러한 은행의 번호표의 체계가 큐(Queue)입니다. 은행의 번호표를 다시 한번 생각해보죠. 제가 619번의 번호표를 뽑았다고 가정하여 봅시다. 지금은 618번 까지 서비스를 받고 있는 상태이고요. 그러면 번호표 시스템 내부에서는 다음 서비스를 받을.. 더보기