반응형 [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. [C++로 배우는 알고리즘과 자료구조] 목차 C++로 배우는 알고리즘과 자료구조 시리즈Day 1: 알고리즘과 자료구조 소개Day 2: 배열과 문자열Day 3: 연결 리스트 (단일, 이중, 원형)Day 4: 스택과 큐Day 5: 해시 테이블Day 6: 트리의 기본 개념Day 7: 이진 탐색 트리 (BST)Day 8: 균형 이진 탐색 트리 (AVL 트리)Day 9: 힙과 우선순위 큐Day 10: 트라이 (Trie)Day 11: 그래프의 기본 개념Day 12: 그래프 표현 방법 (인접 리스트, 인접 행렬)Day 13: 이진 힙과 힙 정렬Day 14: 해시 함수와 충돌 해결 기법Day 15: 정렬 알고리즘 개요Day 16: 버블 정렬과 선택 정렬Day 17: 삽입 정렬과 쉘 정렬Day 18: 합병 정렬Day 19: 퀵 정렬Day 20: 힙 정렬Day 21.. 2024. 6. 20. 이전 1 2 다음 반응형