Bolehkah anda mencari binari senarai terpaut?
Bolehkah anda mencari binari senarai terpaut?

Video: Bolehkah anda mencari binari senarai terpaut?

Video: Bolehkah anda mencari binari senarai terpaut?
Video: Section, Week 6 2024, November
Anonim

ya, Carian binari adalah mungkin pada senarai terpaut jika yang senarai diperintahkan dan awak mengetahui kiraan unsur dalam senarai . Tetapi Semasa menyusun senarai , awak boleh akses satu elemen pada satu masa melalui penuding ke nod itu iaitu sama ada nod sebelumnya atau nod seterusnya.

Jadi, apakah kerumitan masa apabila carian binari digunakan pada senarai terpaut?

Kerumitan masa tidak boleh lebih daripada O(log n). Sebagai senarai terpaut tidak tidak menyediakan akses rawak jika kita cuba gunakan carian binari algoritma itu kehendak mencapai O(n) seperti yang kita perlukan cari panjangnya senarai dan pergi ke tengah.

Juga Ketahui, bagaimana carian binari dilaksanakan? Carian Binari : Cari tatasusunan yang diisih dengan membahagikan berulang kali cari selang separuh. Mulakan dengan selang yang meliputi keseluruhan tatasusunan. Jika nilai daripada cari kekunci kurang daripada item di tengah-tengah selang, sempitkan selang kepada separuh bawah. Jika tidak, sempitkannya ke bahagian atas.

Daripada itu, kaedah manakah yang digunakan oleh carian binari untuk mencari elemen dalam senarai?

Carian binari berfungsi pada tatasusunan yang disusun. Carian binari bermula dengan membandingkan an unsur di tengah tatasusunan dengan sasaran nilai . Jika sasaran nilai sepadan dengan unsur , kedudukannya dalam tatasusunan dikembalikan. Jika sasaran nilai adalah kurang daripada unsur , yang cari berterusan di bahagian bawah tatasusunan.

Bagaimanakah anda mengulangi melalui senarai terpaut?

An Iterator boleh digunakan untuk gelung melalui an LinkedList . Kaedah hasNext() mengembalikan benar jika terdapat lebih banyak elemen dalam LinkedList dan palsu sebaliknya. Kaedah next() mengembalikan elemen seterusnya dalam LinkedList dan membuang pengecualian NoSuchElementException jika tiada elemen seterusnya.

Disyorkan: