-
배열, 연결리스트, 선택정렬알고리즘공부 2018. 4. 4. 20:12
<배열과 연결리스트>
배열
리스트
읽기
O(1)
O(n)
삽입
O(n)
O(1)
삭제
O(n)
O(1)
접근 방식
임의 접근 random access
순차 접근 sequential access
<선택정렬 selection sort>
O(n) 실행시간이 걸리는 연산을 n번 해야 함 => O(n²)
배열의 모든 원소는 같은 자료형이어야 함
def findSmallest(arr):smallest = arr[0]smallest_index = 0for i in range(1, len(arr)):if arr[i] < smallest:smallest = arr[i]smallest_index = ireturn smallest_indexdef selectionSort(arr):newArr = []for i in range(len(arr)):smallest = findSmallest(arr)newArr.append(arr.pop(smallest))return newArrprint selectionSort([5, 3, 6, 2, 10])'알고리즘공부' 카테고리의 다른 글
해시 테이블 (0) 2018.04.11 퀵정렬 (0) 2018.04.05 재귀, 스택 (0) 2018.04.05 binary search, 빅오표기법 (0) 2018.04.04 알고리즘 : recursion 1 (0) 2017.10.10