Můžete binárně prohledávat propojený seznam?
Můžete binárně prohledávat propojený seznam?

Video: Můžete binárně prohledávat propojený seznam?

Video: Můžete binárně prohledávat propojený seznam?
Video: Binary search in linked list | Binary Search algorithm full explanation 2024, Listopad
Anonim

Ano, Binární vyhledávání je možné na propojený seznam pokud a seznam je objednáno a vy znát počet prvků v seznam . Ale při třídění seznam , můžeš přistupovat k jednotlivému prvku najednou prostřednictvím ukazatele na tento uzel, tj. buď předchozí uzel, nebo další uzel.

Jaká bude časová složitost, když se na propojený seznam použije binární vyhledávání?

Časová složitost by nemělo být větší než O(log n). Tak jako propojený seznam ano neposkytovat náhodný přístup, pokud se o to pokusíme použít binární vyhledávání algoritmus to vůle dosáhnout O(n), jak potřebujeme nalézt délka seznam a jděte doprostřed.

Také víte, jak je implementováno binární vyhledávání? Binární vyhledávání : Vyhledávání seřazené pole opakovaným dělením Vyhledávání interval na polovinu. Začněte s intervalem pokrývajícím celé pole. Pokud je hodnota Vyhledávání klíč je menší než položka uprostřed intervalu, zužte interval na spodní polovinu. V opačném případě jej zužte na horní polovinu.

Jakou metodu tedy binární vyhledávání používá k nalezení prvku v seznamu?

Binární vyhledávání pracuje na setříděných polích. Binární vyhledávání začíná porovnáním an živel uprostřed pole s cílem hodnota . Pokud cíl hodnota odpovídá živel , je vrácena jeho pozice v poli. Pokud cíl hodnota je menší než živel , Vyhledávání pokračuje v dolní polovině pole.

Jak iterujete přes propojený seznam?

An Iterátor lze použít ke smyčce přes an Spojový seznam . Metoda hasNext() vrací true, pokud je v něm více prvků Spojový seznam a jinak falešné. Metoda next() vrací další prvek v Spojový seznam a vyvolá výjimku NoSuchElementException, pokud neexistuje žádný další prvek.

Doporučuje: