zenn.skin 무료버전 배포중!
자세히보기

연결리스트 3

CS/자료구조
[Python] 이중 연결리스트 구현

이중 연결리스트는 단순 연결리스트와 다르게 앞뒤 노드, 양쪽 방향으로 링크를 갖는 구조이다 단순 연결리스트의 구조를 이해하고 있으면 이중 연결리스트는 쉽게 이해할 수 있다결리스트는 단순 연결리스트와 다르게 앞뒤 노드, 양쪽 방향으로 링크를 갖는 구조이다 단순 연결리스트의 구조를 이해하고 있으면 이중 연결리스트는 쉽게 이해할 수 있다 이중 연결리스트는 단순 연결리스트와 다르게 이전 노드에 접근이 가능하다는 장점이 있다 이전 노드에 접근할 수 있다는 말은 특정 노드 이전의 값을 삭제하거나 역으로 출력하는 등 추가적인 연산이 가능하다 구현하려는 이중 연결리스트의 추상 데이터 타입은 다음과 같다 empty(): 리스트가 비었다면 True, 아닐 경우 False를 반환 append(data): 리스트의 맨 뒤에 ..

CS/자료구조
[Python] 단순 연결리스트 구현

단순 연결리스트는 한 방향으로만 링크를 갖는 구조이다 구현하려는 단순 연결리스트의 추상 데이터 타입은 다음과 같다 isempty() : 비었다면 True를, 아닐 경우 False를 반환 add_first(item) : 연결리스트의 첫 번째 자리에 item을 삽입 add_last(item) : 연결리스트의 마지막에 item을 삽입 insert(pos, item) : pos 위치에 item을 삽입 (첫 번째 자리는 0부터 시작한다) remove(target) : target이 존재할 경우 target을 제거 search_target(target) : target이 존재할 경우 pos를 반환, 없을 경우 False를 반환 search_pos(pos) : pos위치에 존재하는 값을 반환, 없을 경우 False를..

CS/자료구조
[자료구조] 연결 리스트(Linked List)

연결 리스트란? 연결 리스트는 값과 다음 노드에 대한 포인터(주소값)으로 이루어진 선형 리스트이다. 마지막 노드는 Null값을 갖는다. 연결리스트는 연속적인 주소 값을 갖는 배열과 자주 비교된다. 노드의 구성에 따라 단순 연결 리스트, 이중 연결리스트, 원형 연결 리스트가 있다 ※ 연결 리스트와 배열의 비교 배열 특징 값이 연속된 메모리에 순차적으로 저장 장점 - 인덱스를 통한 빠른 접근이 가능 - 구현이 쉽고 직관적이다 단점 - 미리 값을 할당하므로 저장공간이 부족할 경우 오류가 발생 - 반대로 너무 많은 저장공간을 할당할 경우 메모리 낭비가 커짐 - 추가, 삭제 연산을 할 때 연산수가 많아짐 -> 원소의 이동수가 많아진다 연결 리스트 특징 - 값이 연속된 메모리에 저장되지 않고 임의 주소에 저장됨 -..