buborek rendezes
This commit is contained in:
@@ -336,3 +336,32 @@ Hashmaps alapjai
|
||||
Fontos azonban megjegyezni, hogy a tényleges teljesítmény olyan tényezőktől függően változhat, mint az elemek száma, a hash kód ütközései és a terhalési tényező.
|
||||
|
||||
|
||||
Bináris Keresés
|
||||
|
||||
A bináris - más néven logaritmikus vagy felező módszer -
|
||||
mivel n elem esetén log(n) futási idővel rendelkezik.
|
||||
|
||||
A bináris keresés egy erősen optimalizált keresési eljárás,
|
||||
amely csak rendezett adatsoron alkalmazható.
|
||||
Pélédául, amikor egy nyomtatott szótárban keresünk egy szót vagy jelenléti íven keressük a nevünket.
|
||||
A keresett értéket egy mintaadattal összehasonlítjuk és az eredménytől függően - amennyire lehet -
|
||||
egy nagy részt kizárunk a tartományból.
|
||||
|
||||
A módszer külön implementációt nem igényel, mivel az Array és a list osztály os tartalmaz bináris keresésre implementációt.
|
||||
|
||||
int index = Array.BinarySearch(Array array, object value);
|
||||
|
||||
Buborékrendezés
|
||||
|
||||
A rendezés során a tömb fennmaradó részén végighaladva az egymás utáni szomszédos elemeket összehasonlítjuk, és ha szükséges, megcseréljük őket, hogy közölük mindig a nagyobb helyezkedjen el feljebb.
|
||||
|
||||
Pszeudokód:
|
||||
Ciklus i = 6 -tól 1-ig
|
||||
Ciklus j = 0-tól i-1-ig
|
||||
Ha a[j] > a [j+1] AKKOR
|
||||
csere a[j] a[j+1]
|
||||
|
||||
Az algoritmusnak csak akkor van értelme tovább futnia, ha a belső ciklusban volt csere.
|
||||
|
||||
A javított algoritmus futási ideje legjobb esetben lineáris lesz,
|
||||
legrosszabb esetben pedig négyzetes.
|
||||
|
||||
Reference in New Issue
Block a user