본문 바로가기
반응형

datastructure3

[자료구조] 링크드 리스트( Linked List) 링크드 리스트( Linked List) 연결 리스트라고도 한다. 배열은 순차적으로 연결된 공간에 데이터를 나열하는 구조라한다면 링크드리스트는 떨어진 곳에 존재 하는 데이터를 연결해서 관리하는 자료 구조이다. Linked List의 기본 구현 class Node: def __init__(self, data, next=None): self.data = data self.next = next Linked List의 단위 자료의 이름을 Node라고 한다. 이 Node가 다음 Node로 연결되는데 이 연결은 바로 next라는 변수로인해 가능해진다. data에는 저장하고자 하는 값이 들어가고 next에는 다음 Node의 주소가 저장된다. Node와 Node의 연결 node1 = Node(1) node2 = Node.. 2021. 8. 17.
[자료구조] 스택(Stack) 스택(Stack) Stack은 데이터를 제한적으로 접근할 수 있는 구조이며 입력과 출력이 한쪽 끝에서만 발생한다. 즉 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 구조이다. LIFO (Last In First Out) 구조가 단순하고 구현이 쉽지만 데이터의 최대 허용 개수를 미리 정해야 하며 이로인한 저장 공간의 낭비가 발생할 수 있다. (파이선의 경우 재귀 호출은 1000번까지만 가능하다.) Stack의 기본적인 구현 파이선의 list 클래스의 메서드로 아주 간단하게 Stack을 구현할 수 있다. // 파이선 리스트에서 지원하는 메서드로 스택 만들기 // Push : append() // Pop : pop() data_stack = list() data_stack.append(1) data_st.. 2021. 8. 16.
[자료구조] - 큐 (Queue) 대표적인 데이터 구조이며 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있다. (FIFO - First In First Out) 물론 LILO(Last In Last out) 형식의 Queue도 만들 수 있다. 다만 기본 형태는 FIFO이며, Python 라이브러리에서는 FIFO외에 LifoQueue(Last in first out), PriorityQueue 를 지원한다. 일반적인 Queue의 사용 import queue data_queue = queue.Queue() for index in range(10): data_queue.put(index) data_queue.qsize()// 10 data_queue.get()// 0 data_queue.get()// 1 data_queue.get()// 2 .. 2021. 8. 12.
반응형