오늘 할 일: 끝내주게 숨쉬기
article thumbnail
[자료구조] 스택, 큐, 덱

스택(Stack) 데이터가 입력되면 입력되는 순서대로 쌓고, 나중에 들어온 것부터 먼저 사용하는 자료구조입니다. 스택 형태의 데이터 구조를 LIFO(Last-In-First-Out)형이라고 하며, 스택에 데이터를 넣는 것을 'PUSH', 데이터를 꺼내는 것을 'POP'이라고 합니다. 파이썬에서는 리스트를 사용해 스택을 구현할 수 있습니다. 초기화하기 원소 삽입 : append(x) 원소 제거 : pop() pop()은 마지막 원소를 리턴하고 제거합니다. top 가져오기 인덱스 -1은 가장 마지막에 삽입된 원소를 가리킵니다. 큐(Deque) 데이터가 입력되면 입력되는 순서대로 쌓고, 먼저 들어온 것부터 먼저 사용하는 자료구조입니다. 이를 FIFO(First-In-First-Out), 선입선출이라고 합니다...

article thumbnail
[자료구조] 해시, Dictionary

파이썬은 딕셔너리(Dictionary) 형태로 해시 자료구조를 제공합니다. 딕셔너리는 dict 클래스로 구현되어 있습니다. 해시는 1. 인덱스 값이 숫자가 아니라 문자열, 튜플 등 다른 값이어서 리스트를 쓸 수 없을 때 2. 빠른 접근/탐색이 필요할 때 : 함수 대부분의 시간 복잡도가 O(1)로 아주 빠릅니다. 3. 집계를 할 때 : collections 모듈의 Counter 클래스는 각 원소가 몇 개 있는지 셀 때 매우 유용하게 쓰입니다. 딕셔너리 선언하기 { } 기호를 사용하거나 dict 함수를 호출하여 빈 딕셔너리를 선언합니다. 또한 key-value 쌍을 가진 딕셔너리를 선언할 수도 있습니다. 딕셔너리로부터 원소 얻기 딕셔너리의 원소를 가져올 때는 1. [] 기호 사용 2. get 메소드 사용 :..

article thumbnail
[자료구조] 힙(heap)

힙(Heap) - 트리 자료구조의 응용 이진 트리의 일종으로, 여러 개의 값 중에서 가장 큰 값이나 가장 작은 값을 빠르게 찾을 수 있도록 구성된 자료구조입니다. 힙은 배열을 사용하여 구현합니다. + 트리(Tree)란? 임의의 노드에서 다른 노드로의 경로가 하나 밖에 없는 구조로, 노드 중에서 단 하나의 루트 노드(Root Node)가 있고, 루트 노드에서 하위 노드(Sub Node)들이 연결된 비선형 계층 구조입니다. 트리 구조 중 다음 데이터를 가리키는 것이 2개인 단방향 트리 구조는 이진 트리 구조라고 합니다. 트리 자료구조의 구현은 배열이나 연결 리스트를 사용합니다. 힙의 종류 최소 힙(Min Heap) : 부모 노드의 값이 항상 하위 노드의 값보다 작은 경우 최대 힙(Max Heap) : 부모 ..

반응형