Шилтемеленген тизмеден экилик издей аласызбы?
Шилтемеленген тизмеден экилик издей аласызбы?

Video: Шилтемеленген тизмеден экилик издей аласызбы?

Video: Шилтемеленген тизмеден экилик издей аласызбы?
Video: 8 инструментов в Excel, которыми каждый должен уметь пользоваться 2024, Май
Anonim

Ооба, Бинардык издөө боюнча мүмкүн шилтемеленген тизме болсо the тизме буйрук жана сен элементтердин санын билүү тизме . Бирок сорттоо учурунда тизме , сенин колуңдан келет ошол түйүнгө көрсөткүч аркылуу бир эле учурда бир элементке жетүү, башкача айтканда, мурунку түйүн же кийинки түйүн.

Ошентип, экилик издөө шилтемеленген тизмеде колдонулганда убакыттын татаалдыгы кандай болот?

Убакыттын татаалдыгы O(log n) ашпоого тийиш. As шилтемеленген тизме кылат аракет кылсак, кокустук мүмкүнчүлүгүн бербейт экилик издөөнү колдонуу аны алгоритм болот О(n) керек болсо жетет табуу узундугу тизме жана ортосуна барыңыз.

Ошондой эле билесизби, бинардык издөө кантип ишке ашырылат? Бинардык издөө : Издөө кайра-кайра бөлүү жолу менен сорттолгон массив издөө жарым аралыгы. Бүт массивди камтыган интервал менен баштаңыз. Эгерде наркы издөө ачкыч интервалдын ортосундагы пункттан азыраак, интервалды төмөнкү жарымга чейин тарылтыңыз. Болбосо, аны үстүнкү жарымына чейин тарытуу.

Тизмедеги элементти табуу үчүн бинардык издөө кандай ыкманы колдонот?

Бинардык издөө сорттолгон массивдерде иштейт. Бинардык издөө салыштыруу менен башталат элемент максаттуу массивдин ортосунда баалуулук . Максат болсо баалуулук дал келет элемент , анын массивдеги абалы кайтарылат. Максат болсо баалуулук караганда азыраак элемент , the издөө массивдин төмөнкү жарымында уланат.

Шилтемеленген тизме аркылуу кантип кайталайсыз?

Ан Итератор цикл үчүн колдонсо болот аркылуу а LinkedList . Эгерде дагы элементтер бар болсо, hasNext() ыкмасы чындыкты кайтарат LinkedList жана башкасы жалган. next() ыкмасы кийинки элементти кайтарат LinkedList жана кийинки элемент жок болсо NoSuchElementException өзгөчөлүгүн ыргытат.

Сунушталууда: