Tema
/
Algoritmai ir duomenų struktūros GO
Pamoka 7 / 15 Elementarus rūšiavimas ~60 min
Kodas

sort.go — karkasas tau užpildyti

Sukurk sort.go (žr. dešinėje).

Failas dešinėje yra pilnas ir teisingas — jį sukursi lygiai tokį. Jame yra paketas, importas, trys parašai, sutartys ir po panic("not implemented").

Tavo darbas — pakeisti tuos tris panic tikru kodu, remiantis praeito žingsnio pseudokodu.

Perskaityk sutartis, ne tik parašus

Doc komentaruose surašyta viskas, ką testas tikrins:

  • BubbleSort — stabilus; surikiuotam masyvui lygiai n−1 palyginimų;
  • SelectionSortne stabilus; lygiai n(n−1)/2 palyginimų bet kokiai įvesčiai; ne daugiau kaip n−1 sukeitimų;
  • InsertionSort — stabilus; surikiuotam masyvui lygiai n−1 palyginimų ir nulis sukeitimų.

Trys iš šių reikalavimų yra tikslūs skaičiai, ne ribos. Jei tavo realizacija duoda n vietoj n−1, testas tai pagaus — ir tai bus tikra klaida, ne priekabė: reiškia, kad kažką palygini du kartus arba lygini elementą su savimi.