Sobes.tech
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);
}