본문 바로가기

정렬2

[자료구조] 정렬 2. 간단한 정렬들 앞서 정렬의 개념에 대해 간략하게 설명했다. 이제 매우 간단한, 그러나 비효율적인 정렬을 쉽게 알아본다.1) 선택 정렬 (Selection Sort)선택 정렬은 리스트에서 가장 작은 숫자를 선택해서 앞쪽으로 옮기는 방법을 반복하여 정렬하는 방식이다.전체 숫자 리스트를 아직 정렬되지 않은 오른쪽 리스트와 정렬이 완료된 왼쪽 리스트로 분류하는데, 맨 처음에는 모든 숫자가 오른쪽 리스트(정렬되지 않은 상태)에 담겨져 있다.즉 오른쪽 리스트에서 가장 작은 숫자들을 계속해서 선택하여 왼쪽 리스트에 차례로 담는 방식을 반복하여 정렬하는 것이다!def printStep(arr, val): print(" Step %2d = " % val, end='') print(arr)def selection_sort(A.. 2024. 1. 7.
[자료구조] 정렬 1. 정렬이란? 우리가 효율적으로 데이터를 저장하고 관리하기 위해서 필요한 것 중 하나가 정렬이다. 정렬은 순서를 기준으로 오름차순 정렬과 내림차순 정렬으로 나눌 수 있는데, 오름차순 정렬은 작은 순서대로 정렬하는 것이고 내림차순 정렬은 큰 순서대로 정렬하는 것이다. 정렬시켜야 될 대상을 보통 레코드(record)라고 부르며, 레코드는 여러 개의 필드(field)로 이루어진다. 여기서 정렬이 기준이 되는 필드를 키(key) 또는 정렬 키(sort key)라고 한다. 예를 들어 수많은 경주마(레코드)들을 정렬하고 싶은데… 경주마들은 각각 이름, 키, 나이, 품종 등(필드) 가지각색의 속성들을 가지고 있다 이 중 나는 이름을 기준으로 정렬하고 싶다면, 이름이 정렬 키가 되는 것이다. 정렬 장소에 따른 분류 내부 정렬: 모든.. 2024. 1. 7.
반응형