WEB/자료구조

커서(cursor)로 연결 리스트 만들기 / 원형 이중 연결 리스트

AKI 2019. 3. 13. 13:34

1. 커서(cursor)로 연결 리스트 만들기


연결 리스트는 '노드의 삽입, 삭제를 데이터 이동 없이 수행한다'라는 특징이 있었지만 삽입, 삭제를 할때마다 노드용 객체를 메모리 영역을 만들고 해체하는 과정이 필요했습니다. 이 과정에 소모되는 비용은 결코 무시할수 없습니다. 그러므로 데이터 수가 크게 바뀌지 않고 데이터 수의 최대값을 미리 알수 있다면 아래와 같이 효율적인 연결 리스트를 운용할수 있습니다.







프리 리스트)

이 프로그램에서 삭제한 여러 레코드를 관리하기 위해 사용하는 것이 그 순서를 넣어두는 연결 리스트인 프리 리스트(free list)입니다.







- 프리 리스트 + 커서 연결리스트 코드

- AryLinkedList :


- AryLinkedListTester :





2. 원형 이중 연결 리스트





- 더미노드 : 이 노드는 노드의 삽입과 삭제 처리를 원활하게 하도록 리스트의 머리에 계속 존재하는 더미 노드입니다.

노드를 생성할 때 new Node<E>()에 의해 생성자를 호출하므로 더미 노드의 prev와 next는 자기 자신의 노들르 가리키도록 초기화됩니다.


- 코드

- DblLinkedList :


- DblLinkedListTester :


반응형