자료구조 원형 큐 (Circular Queue) 자바로 구현
1. 개요 이전 글에서 선형 큐는 LinkedList로 구현했다. 배열을 사용하지 않은 이유는 일반적인 방법으로 배열로 큐를 구현하면 효율성이 떨어지기 때문이다. 만약 데이터가 1억개 있다고 치자, 큐는 가장 먼저 들어온 데이터가 가장 먼저 나가야 하니, poll()을 하게 되면, 첫번째 자리가 비게 된다. 일반적인 방법이라면, 뒤에 있는 모든 데이터를 한칸씩 당겨와 줘야한다. 그런데 배열에서 그 작업을 하려면 poll() 한번 하고 99,999,999개의 메모리를 이동시켜야 하니 상당히 비효율적이다. 만약 poll() 을 하고 빈 자리를 그대로 놔둔다고 해도 문제가 된다. 처음에야 그리 시간이 걸리지 않겠지만, 데이터를 1,000만개를 뺐다고 하면, 가장 먼저 들어온 데이터를 찾기 위해, 1,000만번..
2022. 2. 17.