블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형
파이썬 정렬 메소드
파이썬에서는 정렬을 할때 sort()
와 sorted()
메소드를 사용한다.
sort()
sort() 메소드는 리스트를 오른차순으로 정렬해준다.
>>> data = [3, 6, 12, 7, 10, 99, 23, 5, 9]
>>> data.sort()
>>> data
[3, 5, 6, 7, 9, 10, 12, 23, 99]
sorted()
sorted() 메소드는 오름차순으로 정렬 후 새로운 리스트를 반환해준다.
>>> data = [3, 6, 12, 7, 10, 99, 23, 5, 9]
>>> sorted(data)
[3, 5, 6, 7, 9, 10, 12, 23, 99]
파이썬에서는 어떤 정렬 알고리즘을 사용할까?
흔히 알고리즘을 배우면 아래 5가지 정렬 알고리즘을 배운다.
- 선택 정렬(Selection Sort): 2020/03/21 - [Algorithm] - 선택 정렬 (Selection Sort) 알고리즘 (with Python3)
- 삽입 정렬(Insertion Sort): 2020/03/21 - [Algorithm] - 삽입 정렬 (Insertion Sort) 알고리즘 (with Python3)
- 버블 정렬(Bubble Sort): 2020/03/25 - [Algorithm] - 버블 정렬 (Bubble Sort) 알고리즘 (with Python3)
- 병합 정렬(Merge Sort): 2020/03/25 - [Algorithm] - 병합 정렬 (Merge Sort) 알고리즘 (with Python3)
- 퀵 정렬(Quick Sort): 2020/03/25 - [Algorithm] - 퀵 정렬 (Quick Sort) 알고리즘 (with Python3)
파이썬에서는 정렬 알고리즘으로 팀소트(Tim Sort
)를 사용한다.
팀 소트
팀 소트 알고리즘은 팀 피터스(Tim Peters
)라는 사람이 만든 알고리즘으로..
병합정렬과 삽입정렬의 아이디어를 적절히 섞어서 만든 알고리즘이다.
시간 복잡도는 O(NlogN)
을 가진다. 그래서 실무에서나 알고리즘 문제를 풀때 따로 정렬 알고리즘을 구현하는 것보단 그냥 내장 함수인 sort()
나 sorted()
를 사용하는것이 훨씬 낫다.
Reference
반응형
'Language > Python' 카테고리의 다른 글
python으로 qrcode 생성기 만들기 (0) | 2020.08.08 |
---|---|
Python3 문자열에서 특정 문자열 찾기 (0) | 2020.04.12 |
파이썬 스레드(Thread) 특징과 GIL (0) | 2020.04.10 |
파이썬 파일과 이미지 다루기(쓰기, 읽기, 추가하기) (0) | 2020.04.09 |
zipfile 모듈로 압축하기 (0) | 2020.03.10 |