본문 바로가기

linked list5

[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.
[Stacks]12. Linked list-based Stack(연결 리스트 기반 스택) 구현 목차 1. Linked list-based Stack(연결 리스트 기반 스택) 구현 2. class Node, S_linked_list 3. class Stack_linked 4. 테스트 1. Linked list-based Stack(연결 리스트 기반 스택) 구현 Linked list-based Stack을 구현할 경우, 1. Singly linked list를 구현한다. 2. append, pop은 모드 singly linked list의 head에서 이루어진다. 3. 이를 기반으로 스택 알고리즘을 구현한다. Singly linked list를 활용하여 스택 알고리즘을 구현할 경우, head에서 append와 pop을 진행하야한다는 사실만 주의하면 됩니다. 지난 Linked list 게시물에서도 언급.. 2021. 2. 20.
[Linked Lists]3. 단일 연결 리스트 구현 목차 1. Singly LInked LIst에 필요한 함수 목록 2. class Node 3. Empty() 4. LIst_size() 5. Print() 6. Append(data) 7. Delete(idx) 8. Insert(idx, data) 9. 테스트 1. Singly Linked List에 필요한 함수 목록 위의 목차에서 추측할 수 있는 내용이지만, Singly LInked List에 필요한 함수의 목록으로는 1. Empty() : 연결 리스트가 비어있는지 확인하는 함수 2. List_size(): 연결 리스트의 크기를 확인하는 함수 3. Print(): 연결리스트에 포함되어 있는 모든 data를 출력하는 함수 4. Append(data): 연결리스트에 data를 추가하는 함수 5. Delet.. 2021. 2. 18.
[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.