본문 바로가기
반응형

분류 전체보기109

파이썬 버블 정렬 파이썬 버블정렬에 대해 알아보겠습니다. 버블 정렬에서 우리가 해야 할 일은 배열의 처음 두 요소를 선택하고 첫 번째 요소가 두 번째 요소보다 큰지 비교한 다음 서로 바꾸는 것입니다. 그런 다음 다음 두 요소를 선택하고 비교하는 등의 작업을 수행합니다. 배열을 한 번 이동한 후 가장 큰 숫자가 마지막 인덱스에 배치됩니다. 전체 배열을 정렬하려면 배열을 (n-1) 번 이동해야 합니다. 여기서 n은 배열의 길이입니다. 파이썬 버블 정렬 예 배열이 있다고 가정해 보겠습니다. 21,14,18,25,9 패스-1: 우리가 알고 있듯이 14는 21보다 작으므로 이를 교환하고 다음 두 요소를 선택합니다. 이번에도 18은 21보다 작으므로 이를 교환하고 다음 두 요소를 선택해야 합니다. 25는 21보다 크므로 서로 바꿀 .. 2024. 1. 28.
Python 선택 정렬 이 포스팅에서는 프로그램 예제와 함께 Python 선택 정렬 알고리즘에 대해 알아봅니다. 선택 정렬은 가장 쉬운 정렬 알고리즘 중 하나입니다. 선택 정렬에서 정렬되지 않은 배열을 정렬하려면 배열에서 최소값을 찾아 이를 정렬되지 않은 배열의 첫 번째 요소와 교체하면 됩니다. 각 교환 후에 배열의 시작 인덱스를 1씩 늘립니다. 오름차순으로 정렬하기 위한 것입니다. 내림차순으로 정렬하려면 최소값 대신 최대값을 찾아 정렬되지 않은 배열의 첫 번째 요소로 바꿉니다. Python 선택 정렬 예 정렬되지 않은 배열이 있습니다. [4,8,19,2,28,21] 1 단계: 2 단계: 3단계: 4단계: 5단계: 6단계: 연산 n개의 요소로 구성된 배열이 있는 경우. 1단계:- MIN = 0으로 설정 2단계:- 배열에서 최소.. 2024. 1. 28.
Python 삽입 정렬 이번 포스팅에서는 Python 삽입 정렬 알고리즘에 대해 알아봅니다. 성능 측면에서 삽입 정렬은 최고의 정렬 알고리즘이 아닙니다. 그러나 선택 정렬과 버블 정렬보다 조금 더 효율적입니다. 삽입 정렬 알고리즘을 쉽게 이해하기 위해 예제부터 시작하겠습니다. Python 삽입 정렬 예 배열 [14,5,18,6,21]이 있다고 가정해 보겠습니다. 이 배열에 두 부분이 있다고 가정합니다. 첫 번째 부분은 정렬되고 다른 부분은 정렬되지 않습니다. 배열의 정렬된 부분은 주황색 선의 왼쪽에 있고 정렬되지 않은 부분은 오른쪽에 있습니다. 이제 우리가 해야 할 일은 정렬되지 않은 부분에서 각 요소를 하나씩 선택하여 정렬된 배열의 적절한 위치에 추가하는 것입니다. 14는 정렬된 부분의 유일한 요소이므로 이미 정렬되어 있습니.. 2024. 1. 28.
Python 빠른 정렬 이 포스팅에서 Python 빠른 정렬 프로그램과 알고리즘을 얻을 수 있습니다. 퀵 정렬은 분할 정복(divide and conquer) 기술을 기반으로 합니다. 더 작은 배열을 얻을 때까지 배열을 하위 배열로 나누고 해당 하위 배열을 다른 하위 배열로 나누는 식으로 계속합니다. 큰 배열에 비해 작은 배열을 푸는 것이 쉽기 때문입니다. 더 작은 배열을 정렬하면 전체 배열이 정렬됩니다. Python 빠른 정렬 Quick Sort를 이해하기 위해 예를 들어보겠습니다. 예 배열이 있습니다 [48,44,19,59,72,80,42,65,82,8,95,68] 우선 첫 번째 요소를 선택하여 적절한 위치에 배치합니다. 우리는 이 요소를 Pivot 요소라고 부릅니다. 참고: 어떤 요소든 피벗 요소 로 사용할 수 있지만 편.. 2024. 1. 28.
반응형