Saturday, June 25, 2011

SW: Quick Sort

- divide & conquer
- zvoli sa pivot, vacsinou prvy v poli
- 2 indexy, ktore sa pohybuju zlava a zprava
- lavy index ide doprava a na prvku >= pivot zastane
- pravy index ide dolava a na prvku <= pivot zastane
- prvky sa prehodia
- lindex++ & pindex++
- ked to dokoncime, tak v lavej casi pola budu prvky < pivot a v pravej > pivot
- pole rozdelime na polovicu a ideme znovu

- O(n^2), ale zalezi na volbe pivota, ak je pivot vhodne zvoleny, tak sa da dosiahnut O(nlog(n))