Junior — Middle
Негізгі классикалык алгоритмдерди жана алардын өзгөчөлүктөрүн ата аласызбы?
sobes.tech AI
AIден жооп
Негізгі классикалық алгоритмдер және олардың ерекшеліктері:
-
Тізбектелу:
- Көбік сорт (Bubble Sort) — қарапайым, бірақ тиімсіз (O(n²)), оқыту үшін қолайлы.
- Кірістіру сорт (Insertion Sort) — деректердің шамамен сұрыпталған кезде тиімді.
- Жылдам сұрыптау (Quick Sort) — орташа алғанда жылдам (O(n log n)), бірақ ең нашар жағдайда O(n²).
- Қосылу сұрыптау (Merge Sort) — тұрақты, кепілденген O(n log n), қосымша жадты талап етеді.
-
Іздеу:
- Жолды іздеу — қарапайым, бірақ баяу (O(n)).
- Икемді іздеу — жылдам (O(log n)) сұрыпталған массивтер үшін.
-
Граф алгоритмдері:
- Тереңдікке іздеу (DFS) және кеңдікке іздеу (BFS) — графты өту.
- Дейкстра алгоритмі — оң емес салмақтармен графта ең қысқа жолды табу.
-
Рекурсия және динамикалық бағдарламалау:
- Қайталанатын кіші мәселелерді шешу үшін пайдаланылады, мысалы, Fibonacci сандарын есептеу, сөмке мәселесі.
-
Жалқау алгоритмдер:
- Жергілікті оңтайлы шешім қабылдайды, мысалы, Kruskal алгоритмі минималды таралу ағашы үшін.
Мысал: C#-да Жылдам сұрыптау
void QuickSort(int[] arr, int left, int right) {
if (left >= right) return;
int pivot = arr[(left + right) / 2];
int i = left, j = right;
while (i <= j) {
while (arr[i] < pivot) i++;
while (arr[j] > pivot) j--;
if (i <= j) {
int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp;
i++; j--;
}
}
QuickSort(arr, left, j);
QuickSort(arr, i, right);
}