heap

Algorithm

[프로그래머스] level2 | 더 맵게 - 파이썬(Python) | 힙(Heap)

https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr처음에는 리스트를 sorting 해 준 뒤에 while문을 동작 시키려고 했으나 효율성 테스트에서 실패가 떴다.어떻게 시간복잡도를 개선할 수 있는지 찾아보니 heapq라는 아주 좋은 도구가 있었다. heapq는 이미 힙구조라고 가정한 리스트를 조작하는 함수 모음으로 일반 리스트를 힙 구조로 사용하기 위해서는 heapq를 import 해 준뒤 heapq.heapify(scoville)을 해 줘야만 이 리스트를 이제부터 최소 힙으로 쓰겠다고 정의하게 된다.i..

Computer Science

자료구조 | 스택과 큐, 힙, 이진 힙, Stack, Queue, Heap, Binary Heap

- Stack(스택)이란? 스택은 LIFO(Last In First Out) 구조의 자료형으로 한 쪽으로만 데이터를 넣고 뺄 수 있는 선형 구조로 되어있다. 즉, 마지막으로 넣은 데이터가 먼저 나오게 된다. 스택에서 삽입은 push, 삭제는 pop 명령어로 실행된다. 이는 브라우저에서 뒤로가기, 문서 작업 시 컨트롤+Z 같은 이전 상태로 되돌리기 등에 사용되며 DFS알고리즘에도 사용되는 자료형이다. 마지막 위치에 해당하는 데이터를 읽기 위해서는 Peek 명령어를 사용한다. 스택에 데이터가 꽉 차서 넣을 공간이 없는데 push를 하게 되는 경우를 overflow라고 하며 데이터가 없는데 pop을 하는 경우는 underflow라고 한다. 스택을 구현하는 방법은 배열을 사용하는 방법과 연결 리스트를 사용하는 ..

토오오끼
'heap' 태그의 글 목록