본문 바로가기

자바 Do,It 알고리즘(끝)

[자바 Do It! 알고리즘]Chapter08 리스트(선형 리스트)

리스트는 데이터를 순서대로 나열한 자료구조입니다. 여기서는 가장 간단한 리스트 구조를 가지고 있는 선형 리스트에 대해 살펴보겠습니다.

[선형리스트]

1. 리스트의 데이터는 노드(node) 또는 요소(element)라고 합니다. 각각의 노드는 데이터와 다음 노드를 가리키는 포인터를 가지고 있습니다. 처음과 끝에 있는 노드는 특별히 각각 머리 노드(head node), 꼬리 노드(tail node) 라고 합니다. 또한 하나의 노드에 대해 바로 앞에 있는 노드를 앞쪽 노드(predecessor node), 바로 뒤에 있는 노드를 다음 노드(successor node)라고 합니다.

[배열로 선형 리스트 만들기]

class Person {

int memNo; //회원번호

String name; // 이름

String phoneNo; // 전화번호

}

Person[] data = {

new Person(12 "John", "999-999-1234")

new Person(33 "Paul", "999-999-1235")

new Person(57 "Mike", "999-999-1236")

new Person(69 "Rita", "999-999-1237")

new Person(41 "Alan", "999-999-1238")

new Person(0 "", "")

new Person(0 "", "")

};

[다음 노드 꺼내기]

배열의 각 요소에는 연락할 순서대로 데이터가 저장되어 있습니다. 전화를 걸기 위해 필요한 '다음 노드 꺼내기'는 1만큼 큰 인덱스를 갖는 요소에 접근하면 됩니다.

[노드의 삽입과 삭제]

1. 쌓이는 데이터의 크기를 미리 알아야 합니다.

2. 데이터의 삽입, 삭제에 따라 데이터를 모두 옮겨야 하기 때문에 효율이 좋지 않습니다.