Jūs esateŽurnalai / Ernestas Kardzys's blog / Kai Burbulai nusiburbuliuoja...

Kai Burbulai nusiburbuliuoja...


ParašėErnestas Kardzys - 2008 Balandžio 26

Jeigu programuojate ir Jums teko surikiuoti kokią vieną - kitą krūvelę skaičių, tad reikės pasirinkti kokį nors rikiavimo algoritmą. Jeigu skaičių nedaug, tai nėra ko sukti galvos - pasiimam Burbulo rikiavimo algoritmą ir rikiuojame skaičiukus. Aišku, Burbulo rikiavimo algoritmo sudėtingumas yra О(n²), kas, kaip turbūt sutiksite, yra labai blogai. Bet, jei rikiuojame kokius 10 skaičių - tai ne problema. Manęs paprašė, jog padėčiau išspręsti vieną programavimo uždavinį. Dokumente buvo sudėtas Burbulo rikiavimo algoritmas, kuris turi du ciklus: for (int i = 0; i < n; i++)  for (int j = i; j < n; j++) Kaip turbūt pastebėjote, šioje vietoje yra vienas netikslumas. Bėda tame, kad du kartus yra tikrinamas tas pats paskutinis elementas: array[n-1]=  array[n-1] (paskutinėje iteracijoje). Burbulas ir taip neefektyvus, tai kam dar labiau tą neefektyvumą didinti? for (int i = 0; i < n; i++)  for (int j = i; j < n - 1; j++) Reikės pasiieškoti kokio paprasto ir efektyvesnio algortimo... http://en.wikipedia.org/wiki/Bubble_sort  (Savišvietai)

Na gi turim bucket sort'a :) ko tu dar ieskai :D

Skelbti naują komentarą

Šio laukelio turinys bus laikomas privatus ir nerodomas viešai.
  • Web puslapiu adresai ir el. pašto adresai automatiškai tampa nuorodomis.
  • Leidžiamos HTML žymės: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Linijos ir paragrafai atskiriami automatiškai
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <php>, <python>, <ruby>. The supported tag styles are: <foo>, [foo].

Daugiau informacijos apie teksto formatavimą

CAPTCHA
Šis klausimas yra skirtas įsitikinti, jog jūs esate žmogus, ir sustabdyti automatinį šlamšto siuntimą.