분류 전체보기(301)
-
3.2. Recursion - 3.2.1 Tail Recursion
CS - 3. Common Algorithms - 3.2. Recursion - 3.2.1. Tail Recursion 3.2 Recursion 💡 Recursion is a method of solving problems where the solution depends on solutions to smaller instances of the same problem. A recursive algorithm must have a base case. A recursive algorithm calls itself, recursively. 재귀는 동일한 문제의 작은 인스턴스에 대한 해결책에 따라 해결책이 달라지는 문제를 해결하는 방법입니다. 재귀 알고리즘에는 기본 사례가 있어야 합니다. 재귀 알고리즘은 스스로를..
2024.01.21 -
3.1. Sorting - 3.1.6 Merge Sort
CS - 3. Common Algorithms - 3.1. Sorting - 3.1.6 Merge Sort 💡Merge sort is a divide and conquer algorithm. It divides the input array into two halves, calls itself for the two halves, and then merges the two sorted halves. The merge() function is used for merging two halves. The merge(arr, l, m, r) is key process that assumes that arr[l..m] and arr[m+1..r] are sorted and merges the two sorted su..
2024.01.20 -
3.1 Sorting - 3.1.5 Quick Sort
CS - 3. Common Algorithms - 3.1. Sorting - 3.1.5 Quick Sort 💡Quick Sort is a divide and conquer algorithm. It picks an element as pivot and partitions the given array around the picked pivot. There are many different versions of quickSort that pick pivot in different ways. 퀵 정렬은 분할 및 정복 알고리즘입니다. 이 알고리즘은 요소를 피벗으로 선택하고 선택된 피벗을 중심으로 주어진 배열을 분할합니다. 다양한 방식으로 피벗을 선택하는 여러 가지 버전의 퀵 정렬이 있습니다. 퀵정렬(Quick S..
2024.01.16 -
3.1 Sorting - 3.1.4 Heap Sort
CS - 3. Common Algorithms - 3.1. Sorting - 3.1.4 Heap Sort 💡Heap sort is a comparison based sorting algorithm. It is similar to selection sort where we first find the maximum element and place the maximum element at the end. We repeat the same process for remaining element. 힙 정렬은 비교 기반 정렬 알고리즘입니다. 먼저 최대 요소를 찾은 다음 최대 요소를 마지막에 배치하는 선택 정렬과 유사합니다. 나머지 요소에 대해서도 동일한 과정을 반복합니다. 앞에서 데이터의 양이 많거나 무작위로 배열된..
2024.01.15 -
3.1. Sorting - 3.1.3 Insertion Sort
CS - 3. Common Algorithms - 3.1. Sorting - 3.1.3 Insertion Sort 💡Insertion sort is a simple sorting algorithm that builds the final sorted array one item at a time by comparisons. It is much less efficient on large lists than more advanced algorithms such as quicksort, heapsort, or merge sort. 삽입 정렬은 비교를 통해 한 번에 한 항목씩 최종 정렬된 배열을 구축하는 간단한 정렬 알고리즘입니다. 퀵 정렬, 힙 정렬 또는 병합 정렬과 같은 고급 알고리즘에 비해 큰 목록에서는 효율..
2024.01.15 -
3.1. Sorting - 3.1.2 Selection Sort
CS - 3. Common Algorithms - 3.1. Sorting - 3.1.2 Selection Sort 💡 Selection sort is a sorting algorithm that selects the smallest unsorted item in the list and swaps it with index 0, then finds the next smallest and places it into index 1 and so on. 선택 정렬은 목록에서 정렬되지 않은 가장 작은 항목을 선택하여 인덱스 0으로 바꾼 다음 다음으로 작은 항목을 찾아서 인덱스 1에 배치하는 정렬 알고리즘입니다. 선택 정렬(Selection Sort)은 이름에서 알 수 있듯이, 가장 적은 값을 선택하여 앞으로 옮기는 ..
2024.01.14