알고리즘 3

[알고리즘] 삽입 정렬 Insertion Sort

삽입 정렬(Insertion Sort)삽입 정렬은 정렬이 안된 부분의 숫자를 하나씩 정렬된 부분의 적절한 위치를 찾아 끼워 넣는 알고리즘  동작 원리리스트의 두 번째 요소부터 시작한다.현재 요소를 앞 요소들과 비교하여 올바른 위치를 찾고, 그 위치에 삽입한다.이 과정을 리스트의 끝까지 반복하여 정렬한다.  단계별 구현리스트의 두 번째 요소부터 끝까지 순회.현재 요소를 current_value로 설정하고, 현재 위치의 이전 위치를 position으로 설정한다.current_value가 이전 요소보다 작으면 이전 요소를 한 칸씩 뒤로 이동한다.current_value가 올바른 위치에 도달하면 삽입한다.  Python 파이썬 코드:def insertionSort(lst: list) -> list: # 두..

알고리즘 2024.06.22

[알고리즘] 버블 정렬 Bubble Sort

버블 정렬(Bubble Sort)버블 정렬은 인접한 두 요소를 비교하여 필요한 경우 교환하며 리스트를 정렬하는 알고리즘   동작 원리리스트의 처음부터 끝까지 인접한 두 요소를 반복적으로 비교한다.앞의 요소가 뒤의 요소보다 크면 두 요소를 교환.각 반복이 끝날 때마다 가장 큰 요소가 리스트의 끝에 위치하게 된다.이 과정을 리스트 전체가 정렬될 때까지 반복.   단계별 구현리스트의 마지막 요소부터 첫 번째 요소까지 역순으로 순회.각 반복에서 리스트의 처음부터 현재 반복 요소까지 순회하여 인접한 두 요소를 비교하기.만약 앞의 요소가 뒤의 요소보다 크다면 두 요소를 교환.교환이 발생하지 않은 경우 리스트가 이미 정렬된 상태이므로 반복을 중단.   Python 파이썬 코드:def bubbleSort(lst: li..

알고리즘 2024.06.21

[알고리즘] 선택 정렬 Selection Sort

선택 정렬(Selection Sort)정렬되지 않은 리스트에서 매번 가장 큰(또는 작은) 요소를 선택하여 끝자리와 교환하는 방식을 반복하는 알고리즘시간 복잡도는 O(n^2)로, 작은 데이터셋에 적합하지만 큰 데이터셋에서는 비효율적이다. 동작 원리초기 리스트가 주어졌을 때, 리스트의 처음부터 끝까지 순회하며 최댓값(또는 최소값)을 찾는다.최댓값(또는 최솟값)을 리스트의 마지막 요소와 교환한다.남은 리스트에서 위 과정을 반복하여 정렬을 완료한다. 단계별 구현리스트의 마지막 요소부터 첫 번째 요소까지 역순으로 반복각 반복에서 리스트의 첫 번째 요소부터 현재 반복 요소까지 순회하여 최댓값을 찾기최댓값을 현재 반복 요소와 교환리스트가 정렬될 때까지 위 과정을 반복 Python 파이썬 코드:def selection..

알고리즘 2024.06.19
728x90
반응형