Czy działa algorytm sortowania kubełków?
Czy działa algorytm sortowania kubełków?

Wideo: Czy działa algorytm sortowania kubełków?

Wideo: Czy działa algorytm sortowania kubełków?
Wideo: Sortowanie kubełkowe. Algorytmy porządkowania #5 2024, Kwiecień
Anonim

Nie, to nie jest miejsce sortowanie algorytm . Cały pomysł polega na tym, że wejście sortuje się, gdy są przenoszone do wiadra . W najgorszym z dobrych przypadków (wartości sekwencyjne, ale bez powtórzeń) wymagana dodatkowa przestrzeń jest tak duża, jak oryginalna tablica.

W ten sposób, jakie algorytmy sortowania są na miejscu?

Jako inny przykład, wiele algorytmów sortujących zmienia uporządkowanie tablic w posortowaną kolejność w miejscu, w tym: sortowanie bąbelkowe , sortowanie grzebieniowe, sortowanie przez wybór, sortowanie przez wstawianie , sortowanie sterty i sortowanie według powłoki. Algorytmy te wymagają tylko kilku wskaźników, więc ich złożoność przestrzenna wynosi O(log n). Quicksort działa na miejscu na sortowanych danych.

Następnie pojawia się pytanie, jak działa algorytm sortowania kubełkowego? Sortuj wiadro , lub sortowanie do kosza , jest algorytm sortowania że Pracuje rozdzielając elementy tablicy na wiele wiadra . Każdy wiaderko jest wtedy? posortowane indywidualnie, albo przy użyciu innego algorytm sortowania , lub rekurencyjnie stosując algorytm sortowania kubełkowego . Skonfiguruj tablicę początkowo pustych „ wiadra.

W związku z tym, jak zaimplementować algorytm sortowania wiader?

  1. Załóżmy, że tablica wejściowa to: Utwórz tablicę o rozmiarze 10.
  2. Wstawiaj elementy do wiader z tablicy. Elementy są wstawiane zgodnie z zasięgiem wiadra.
  3. Elementy każdego wiadra są sortowane przy użyciu dowolnego ze stabilnych algorytmów sortowania.
  4. Zbierane są elementy z każdego wiadra.

Gdzie jest używany sortowanie kubełkowe?

Sortuj wiadro przydaje się głównie, gdy dane wejściowe są równomiernie rozłożone w zakresie. Rozważmy na przykład następujący problem. Sortować duży zestaw liczb zmiennoprzecinkowych, które mieszczą się w zakresie od 0,0 do 1,0 i są równomiernie rozłożone w całym zakresie.

Zalecana: