본문 바로가기
반응형

Python Sort2

[Python][이코테] sort, sorted 정렬 파이썬에는 기본적으로 정렬 가능한 라이브러리 주어진다. sort(), sorted() 위의 라이브러리는 퀵정렬과 비슷한 합병 정렬(Merge Sort) 기반으로 만들어졌으며 합병정렬은 퀵정렬보단 느리지만 최악의 경우에도 O(NlogN)을 보장한다. sorted() arr1 = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] result1 = sorted(arr1) print(result1) sort() arr2 = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] arr2.sort() print(arr2) 주의할 점은 sorted()는 정렬된 값을 리턴하고 정렬 대상은 정렬되지 않는다. sort()는 리턴값이 없으며 정렬하고자 하는 대상 자체를 정렬시킨다. arr1 = [7, 5, 9, 0,.. 2022. 10. 6.
[Python][이코테] 계수 정렬 계수 정렬 계수 정렬(count sort)은 특정한 조건이 부합할 때만 사용할 수 있지만 매우 빠른 정렬 알고리즘이다. 사용하기 좋은 조건은 모든 데이터가 정수 데이터의 크기 범위가 제한되어 정수 형태로 표현할 수 있을 때 모든 범위를 담을 수 있는 크기의 리스트(배열) 선언 필수 즉 정수 형태의 리스트를 정렬할 때 가장 빠른 속도로 정렬이 가능한 알고리즘이다. 계수 정렬의 특징은 앞의 세 가지 정렬(선택, 삽입, 퀵)처럼 직접 데이터의 값을 비교하는 방식이 아니다 -> 비교 기반의 정렬 알고리즘이 아님 사용 계수 정렬은 일반적으로 별도의 리스트를 선언하고 그 안에 정렬에 대한 정보를 담는다. 예를 들어서 7 5 9 0 3 1 6 2 9 1 4 8 0 5 2 리스트가 있으면 가장 큰 데이터는 9, 가장 .. 2022. 9. 17.
반응형