Sorting 2

[medium 번역, algorithm] 개발자가 필수로 알아야할 6가지 알고리즘

1. sorting 알고리즘 (정렬 알고리즘) : 배열의 아이템을 순서대로 정렬하는 알고리즘 1-1. 버블 정렬 (Bubble Sort) 가장 기본적인 정렬 알고리즘, 인접한 요소들이 순서에 맞지 않으면 반복적으로 교체한다. 1-2. 병합 정렬 (Merge Sort) 분할 정복 전략을 사용하는 알고리즘이다. 1-3. 퀵 정렬 (Quicksort) 평균적으로 n log n의 시간복잡도를 수행하는 가장 인기있는 정렬 알고리즘이다. 빠르고 효율적이다. 1-4. 힙 정렬 (Heap sort) 완벽한 이진 트리(:heap)로 시각화 되는 배열에 의해 작동한다. 2. Searching 알고리즘 (탐색 알고리즘) : 자료(data set)에서 요소를 찾기 위한 알고리즘 1-1. 이진 탐색 (Binary Search)..

⚡️algorithm 2022.09.14

[내장 라이브러리] 힙큐 heapq, 정렬큐

힙큐의 사용 이진트리 내장되어 있어서 sorting 효율적으로 해주고, pop과 push로 큐로 쓰기 좋다. import heapq q = [1,4,5] >>> [1,4,5] heapq.heappop(q) # 최소값 반환 1 q >>> [4,5] heapq.heappush(q,5) # 순서에 맞게 삽입 q >>> [4,5,5] 22. 9. 17. 추가 heapq.heapify({list}) heapify는 리스트를 heap으로 정렬해준다. [3,2,1] => [1,2,3] 다만 사용법이 헷갈리기 쉬운데, 할당을 따로 하는 게 아니고, sort() 메서드 쓸 때 처럼 실행만 시켜주면 된다. import heapq as hq Alist = [] # Case 1 hq.heapify(Alist) print(Al..