#자료구조(2)
-
7. 힙(Heap)
# 1. 힙(heap) 이란?* 데이터에서 최댓값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리(complt Binary Tree)* 완전 이진 트리 : 노드를 삽입할때 최하단 왼쪽 노드부터 차례대로 삽입하는 트리# 2. 힙의 구조*** 힙은 최대값을 구하기 위한 구조(최대 힙, Max Heap)와 최소값을 구하기 위한 구조(최소 힙, Min Heap)로 분류할수 있음* 각 노드릐 값은 해당 노드의 자식 노드가 가진값보다 크거나 같다.(최대 힙의 경우)* 완전 이진 트리 형태를 가짐# 3. 힙과 이진 탐색 트리의 공통점과 차이점* 공통점 : 힙과 이진 탐색 트리는 이진트리임* 차이점 * 1. 힙은 각 노드의 값이 자식 노드보다 크거나 같음(max heap의 경우) * 2. 이진 탐색 트리는 왼쪽 자..
2024.10.21 -
3. 파이썬의 링크드 리스트
1. 링크드 리스트(Linked list)- 떨어진 곳에 존재하는 데이터를 화살표로 연결하여 관리하는 구조- C언어에서느 중요한 자료구조이지만, 파이썬에는 리스트 타입이 링크드리스트 역할도 이미 지원함-데이터의 삽입과 삭제가 매우 빠름2. 링크드 리스트 용어- 노드(Node) : 데이터 저장 단위(데이터, 포인터)로 구성- 포인터(Pointer ) : 각 노드안에서 다음이나 이전의 노드와의 연결정보를 가지고 있는 공간#링크드 리스트 구현파이썬에서는 링크드 리스트를 구현할때 클래스를 주로 활용class Node: def __init__(self,data): self.data = data self.next = None# Node 객체와 Node 객체의 연결하기(포인터 활용)node1 = Nod..
2024.10.15