Sortowanie tablic z użyciem algorytmów sortowania – implementacja sortowania szybkiego

Założenie: Nauczyć się implementować algorytm sortowania szybkiego (QuickSort) w PHP i zrozumieć jego działanie.

Krok po kroku:

  1. Deklaracja funkcji QuickSort: Funkcja rekurencyjnie sortuje tablicę.
    
    function quickSort(array $array): array {
        if (count($array) < 2) {
            return $array;
        }
    
        $pivot = $array[0];
        $less = [];
        $equal = [];
        $greater = [];
    
        foreach ($array as $value) {
            if ($value < $pivot) {
                $less[] = $value;
            } elseif ($value == $pivot) {
                $equal[] = $value;
            } else {
                $greater[] = $value;
            }
        }
    
        return array_merge(quickSort($less), $equal, quickSort($greater));
    }
    
  2. Przykład użycia: Tworzymy przykładową tablicę i sortujemy ją za pomocą funkcji `quickSort`.
    
    $numbers = [5, 2, 9, 1, 5, 6];
    $sortedNumbers = quickSort($numbers);
    print_r($sortedNumbers); // Wyświetla posortowaną tablicę
    
  3. Wynik: Funkcja `print_r` wyświetli posortowaną tablicę. Złożoność czasowa QuickSort wynosi O(n log n) w najlepszym i średnim przypadku, a O(n^2) w najgorszym (co zdarza się rzadko, np. dla już posortowanej tablicy).

Ten przykład pokazuje podstawy implementacji algorytmu sortowania szybkiego w PHP. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z różnymi algorytmami sortowania!

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *