sort
-
[Algorithm] - 정렬Algorithm/Algorithm 2022. 9. 2. 14:06
알고리즘이란? 가정 : 정렬할 데이터가 담긴 배열(리스트)의 각 원소를 O(1) 시간에 접근 가능한가? 결과 : C , Python과 같은 배열인 경우 가능 하지만, 그렇지 않은 경우가 있다. 데이터가 HDD 에 있다면 ? 메인 메모리에 올라와 있어야만 이 가정이 통한다. 정렬 1. 버블 정렬 시간 복잡도 : O(N^2) Stable Sort ( 같은 값이라 하여도 순서를 보장 ) 맨 왼쪽 원소부터 바로 이웃한 원소와 비교해 가면서, 큰 수가 오른쪽으로 가도록 교환 이 과정을 다시 나머지 n-1개 수에 대해서 반복 2. 삽입 정렬 시간 복잡도 최악의 경우 : O(N^2) , 최상 O(N) Stable Sort ( 같은 값이라 하여도 순서를 보장 ) 정렬 대상이 될 원소를 두 부분으로 나눔 앞은 '이미 정..
-
[Python] - Sort / Reverse개발/Python 2022. 7. 27. 15:26
1. Sort Only List(In-place) Reverse = [::-1] a = [1,5,2,4] a.sort() > [1,2,4,5] # a.sort() -> a[::-1] a.sort(reverse=True) > [5,4,2,1] 2. Sorted Use Iterable Object A simple ascending sort and returns a new sorted list key parameter call function for list element #iterable dict temp = {1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'} sorted(temp) > [1, 2, 3, 4, 5] sorted(temp.items()) > [(1, 'D'), (2, 'B..
-
[Python] - List개발/Python 2022. 7. 27. 01:28
List 원소들이 연속적으로 저장되는 형태의 자료형입니다. mutable -> reallocate 할 필요 X 1. 원소 추가 # List 끝에 element 추가 / O(1) list.append(x) # List 끝에 iterable 추가 / O(len(iterable)) list.extend(iterable) # 주어진 i 위치에 항목에 삽입 / O(N) list.insert(i, x) 2. 원소 제거 # delete x's first element / 없다면, ValueError # O(N) list.remove(x) # delete index element / return Value # pop() = O(1) pop(i) = O(N) list.pop([i]) # delete List all el..