본문 바로가기
반응형
[C++로 배우는 알고리즘과 자료구조] Day 17: 삽입 정렬과 쉘 정렬 삽입 정렬 (Insertion Sort)삽입 정렬은 배열의 요소를 하나씩 정렬된 부분에 삽입하는 방식으로 동작합니다. 각 요소를 적절한 위치에 삽입하기 위해 이미 정렬된 부분을 오른쪽으로 이동시킵니다.삽입 정렬의 시간 복잡도:최선의 경우: (O(n))평균의 경우: (O(n^2))최악의 경우: (O(n^2))삽입 정렬 구현#include #include // 삽입 정렬 함수void insertionSort(std::vector& arr) { int n = arr.size(); for (int i = 1; i = 0 && arr[j] > key) { arr[j + 1] = arr[j]; // 정렬된 부분에서 키보다 큰 요소 이동 --j; } .. 2024. 8. 1.
[C++로 배우는 알고리즘과 자료구조] Day 15: 정렬 알고리즘 개요 정렬 알고리즘 (Sorting Algorithms)정렬 알고리즘은 주어진 데이터를 특정 순서대로 정렬하는 알고리즘입니다. 정렬은 컴퓨터 과학에서 매우 중요한 개념으로, 데이터의 효율적인 검색 및 정렬된 데이터를 필요로 하는 다양한 알고리즘의 기반이 됩니다.정렬 알고리즘의 종류:버블 정렬 (Bubble Sort)선택 정렬 (Selection Sort)삽입 정렬 (Insertion Sort)합병 정렬 (Merge Sort)퀵 정렬 (Quick Sort)힙 정렬 (Heap Sort)기수 정렬 (Radix Sort)계수 정렬 (Counting Sort)정렬 알고리즘 비교비교 기준:시간 복잡도 (Time Complexity): 알고리즘이 실행되는 데 걸리는 시간의 척도입니다.공간 복잡도 (Space Complex.. 2024. 8. 1.
[알고리즘] 3. 정렬 Index 1. 정렬 2. 버블 정렬 3. 삽입 정렬 4. 선택 정렬 5. 퀵 정렬 6. 병합 정렬 7. 계수 정렬 8. 추천 문제 9. 참고자료1.  정렬정렬(Sort)- 데이터를 특정한 기준에 따라 순서대로 나열하는 것 2.  버블 정렬버블 정렬(Bubble Sort) def bubble_sort(arr: list): for i in range(len(arr)): for j in range(len(arr)-1): if (arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arr3.  삽입 정렬삽입 정렬(Insertion Sort)- 처리되지 않은 데이터를 하나씩 골라 적절한 위치에 삽입- .. 2024. 7. 19.
반응형