목록전산학/자료구조 (2)
배고픈 개발자 이야기
1.linked_list class Node: def __init__(self, data): self.data = data self.next = None class LinkedList: def __init__(self): dummy = Node("dummy") self.head = dummy self.tail = dummy self.current = None self.before = None self.num_of_data = 0 def append(self, data): new_node = Node(data) self.tail.next = new_node self.tail = new_node self.num_of_data += 1 def delete(self): pop_data = self.current..
1.heap 완전 이진 트리 : 노드가 위에서 아래로, 왼쪽에서 오른쪽으로 채워짐 heap : 완전 이진 트리를 기본으로한 자료구조형 O(log N) - min, max를 빠르게 찾기 위해 고안 child node value2: return 1 else: return 0 else: # self.min_max == 2 ==> 최대 힙 if value1 > value2: return -1 elif value1 < value2: return 1 else: return 0 def __init__(self, s_min_max = 'min'): self.dynamic_arr = [None, ] # one based index, 다른 언어는 가변배열을 사용한다. C++은 백터 사용, 효율 좋게 짜는 것이 중요(가변배..