Môžete binárne vyhľadávať v prepojenom zozname?
Môžete binárne vyhľadávať v prepojenom zozname?

Video: Môžete binárne vyhľadávať v prepojenom zozname?

Video: Môžete binárne vyhľadávať v prepojenom zozname?
Video: find 2024, Apríl
Anonim

Áno, Binárne vyhľadávanie je možné na prepojený zoznam ak a zoznam je objednané a vy poznať počet prvkov v zoznam . Ale pri triedení zoznam , môžeš prístup k jednotlivému prvku naraz cez ukazovateľ na tento uzol, t. j. buď predchádzajúci uzol, alebo nasledujúci uzol.

Aká bude časová zložitosť, keď sa na prepojený zoznam použije binárne vyhľadávanie?

Časová zložitosť by nemalo byť väčšie ako O(log n). Ako prepojený zoznam áno neposkytovať náhodný prístup, ak sa o to pokúsime použiť binárne vyhľadávanie algoritmus to bude dosiahnuť O(n), ako potrebujeme Nájsť dĺžka zoznam a choďte do stredu.

Tiež viete, ako sa implementuje binárne vyhľadávanie? Binárne vyhľadávanie : Vyhľadávanie zoradené pole opakovaným delením Vyhľadávanie interval na polovicu. Začnite s intervalom pokrývajúcim celé pole. Ak je hodnota Vyhľadávanie kľúč je menší ako položka v strede intervalu, zúžte interval na dolnú polovicu. V opačnom prípade ju zúžte na hornú polovicu.

Akú metódu teda používa binárne vyhľadávanie na nájdenie prvku v zozname?

Binárne vyhľadávanie pracuje na triedených poliach. Binárne vyhľadávanie začína porovnaním an element v strede poľa s cieľom hodnotu . Ak je cieľ hodnotu zodpovedá element , vráti sa jeho pozícia v poli. Ak je cieľ hodnotu je menej ako element , Vyhľadávanie pokračuje v dolnej polovici poľa.

Ako iterujete cez prepojený zoznam?

An Iterátor možno použiť na zacyklenie cez an LinkedList . Metóda hasNext() vráti hodnotu true, ak je v nej viac prvkov LinkedList a inak falošné. Metóda next() vracia ďalší prvok v LinkedList a vyvolá výnimku NoSuchElementException, ak neexistuje žiadny ďalší prvok.

Odporúča: