- Today
- Total
Recent Posts
Recent Comments
Archives
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 면접 파이썬
- 알고리즘 강좌
- python data structure
- 자료구조
- 셀레니움
- 코딩문제
- 파이썬3
- gdrive
- 파이썬
- 기말시험
- 자료구조 강의
- 파이썬 입문
- 크롤링
- 파이썬 강의
- 중간시험
- 쉬운 파이썬
- 프로그래밍
- 알고리즘
- c언어
- 파이썬활용
- selenium
- python 중간고사
- 코딩시험
- 알고리즘 강의
- 파이썬 알고리즘
- 대학시험
- 파이썬 자료구조
- 파이썬 강좌
- 채용문제
- Crawling
Notice
반원 블로그
02c. 이중 연결 리스트(Doubly linked list) - i. 구조 본문
단일 링크드 리스트를 응용한 이중 연결 리스트에 대해 알아봅니다.
기본구조
단일 연결 리스트는 단방향(head쪽)으로 밖에 삽입, 삭제, 조회를 못합니다.
이중 연결 리스트는 양방향 이동을 구현하므로써 다음 노드와 이전 노드의 이동이 가능하도록 구성되있습니다. 때문에 노드에 변수 next로 다음노드를, 변수 prev로 이전노드를 지정하여 이동할 수 있도록 합니다.
또한 리스트에서 변수 head만 아니라 변수 tail도 만들어 리스트의 앞과 뒤로 접근 가능하도록 하겠습니다.
코드 구현
#이중 링크드 리스트
class DLinkedList:
#D_L_list에서 쓸 노드
class Node:
def __init__(self, v, n = None, p = None):
self.value = v #저장된 데이터
self.next = n #다음 노드 가리키는 변수
self.prev = p #이전 노드 가리키는 변수
#D_L_List에서 필요한 변수
def __init__(self):
self.head = None #첫 생성시 내부에는 노드가 없으므로
self.tail = None
##테스트
if __name__=="__main__":
dl = DLinkedList()
위키독스 연재 : https://wikidocs.net/book/2868
'2018~ > 파이썬 자료구조 알고리즘' 카테고리의 다른 글
02c. 이중 연결 리스트(doubly linked list) - v. 탐색 (0) | 2019.05.06 |
---|---|
02c. 이중 연결 리스트(doubly linked list) - iv. 삭제 (0) | 2019.05.05 |
02c. 이중 연결 리스트(doubly linked list) - iii. 출력 (0) | 2019.05.04 |
02c. 이중 연결 리스트(doubly linked list) - ii. 삽입 (0) | 2019.05.03 |
02b. 단일 연결 리스트(singly linked list) - v. 탐색 (0) | 2019.05.01 |
02b. 단일 연결 리스트(singly linked list) - iv. 삭제 (0) | 2019.04.30 |
02b. 단일 연결 리스트(singly linked list) - iii. 출력 (0) | 2019.04.29 |
02b. 단일 연결 리스트(singly linked list) - ii. 삽입 (0) | 2019.04.28 |
Comments