buborek rendezes

This commit is contained in:
szabomarton
2024-12-12 10:12:57 +01:00
parent b5ae918593
commit 306c0efbb7
41 changed files with 1731 additions and 0 deletions

View File

@@ -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.