본문 바로가기

연결 리스트3

[Vector/List]19. Double Linked List 구현 목차 1. class Node 2. class D_linked_list 3. insert() 4. erase 5. 테스트 1. class Node class Node: def __init__(self, e: object): self.element = e # node가 저장하는 element self.front = None # 앞에 있는 node의 주소 저장 self.back = None # 뒤에 있는 node의 주소 저장 2. class D_linked_list class D_linked_list: def __init__(self): self.head = Node('head') # head역할을 하는 node 지정 self.tail = Node('tail') # tail역할을 하는 node 지정 def .. 2021. 2. 21.
[Linked Lists]2. 단일 연결 리스트 - 2 목차 1. node의 구성 2. 특별한 node 3. Head에서의 삽입 4. Head에서의 삭제 5. Tail에서의 삽입 6. Tail에서의 삭제 1. node의 구성 앞선 게시물에서도 언급하였듯이, node class는 그 node가 지닌 data와, Singly Linked List의 경우 다음 node의 주소값을 지니고 있습니다. 이를 python으로 표현해보면, class Node: def __init__(self, data: int): self.data = data self.next = None 이렇게 나타낼 수 있습니다. 2. 특별한 node Linked List는 크게 2가지 특별한 node가 있다고 할 수 있습니다. 1. Head - 맨 앞 node으로서, LInked List는 시작 n.. 2021. 2. 18.
[Linked Lists]1. 단일 연결 리스트 - 1 목차 1. ADT(Abstract data type) 2. Array vs Linked list 3. Singly Linked List 1. ADT란? ADT는 Abstract data type의 약자로서, 추상적인 자료형을 의미합니다. 이는 특정 자료형이 1. 어떤 데이터를 사용(저장)? 2. (저장하는 데이터로) 어떤 기능? 3. 성능 분석 위 3가지를 분석하는 자료형을 뜻합니다. ADT의 종류에는 여러가지가 있으며, 우선 Array 와 Linked List에 대해서 알아보도록 하겠습니다. 2. Array vs Linked List? 어떤 연속된 데이터를 저장한다고 하였을 시, 흔히 사용하는 방식으로 Array(배열)과 Linked List(연결 리스트)가 있습니다. 두 방법 모두 연속된 데이터를 저.. 2021. 2. 18.