앞서 배열로 Bag를 구현해보았다. (ArrayBag) 배열은 index로 간단히 자료들을 탐색할 수 있는 장점이 있지만 생성했을 때 크기만큼만 데이터를 저장해야한다는 단점이 있다.또한 배열의 데이터 이동과 복사 등 배열의 데이터를 재구성할 경우에는 새로운 배열을 선언하여 복사해야하는 등 불편한 점이 있다.(데이터가 순차적으로 존재하므로) 다음과 같이 배열을 생성하면 10개의 데이터만 관리할 수 있다. 이와 같은 단점을 보완하는 방법으로 Node가 있다. Node의 특징으로는 1. Node 객체에는 연결하는 다음 노드를 저장하는 next(연결부분)와 데이터를 저장하는 value(데이터 부분)이 있다. 2. Node를 이용하면 배열의 단점인 데이터의 갯수가 한정된 문제를 해결할 수 있다.( 단, 컴퓨터의 ..
bag bag는 가장 간단한 자료구조라고 생각한다. (마치 배열과도 같은 느낌) 그만큼 간단하고 구현하기 쉬운 자료구조이기 때문이지 않을까...? 따라서 오늘은 bag 자료구조의 특징과 이를 어떻게 구현하는지에 대해 알아보고자 한다. bag는 우리가 사용하는 가방과 같이 단순히 데이터들을 모아둔 것이라고 할 수 있다. 때문에 데이터 간의 중복이 허용되고 순서 또한 상관이 없는게 특징이다. 이런 특징을 바탕으로 Java를 이용하여 bag를 구현해보도록 할 것이다. [구현 방법] 1. 배열을 이용하여 bag를 구현할 것이다. (ArrayBag) 2. bag는 데이터를 모아두고 관리하기 위한 용도이므로 데이터를 넣고(add) 뺄 수 있는 기능(remove)이 있다. 3. bag의 내용물을 관리하기 위해 몇 개..