Хоёртын хайлт хамгийн хурдан мөн үү?
Хоёртын хайлт хамгийн хурдан мөн үү?

Видео: Хоёртын хайлт хамгийн хурдан мөн үү?

Видео: Хоёртын хайлт хамгийн хурдан мөн үү?
Видео: Буэнос-Айрес - Невероятно яркая и душевная столица Аргентины. Гостеприимная и легкая для иммиграции 2024, Арваннэгдүгээр
Anonim

Хоёртын хайлт байна Илүү хурдан шугаманаас илүү хайх жижиг массивуудаас бусад. Гэхдээ хэрэглэхийн тулд массивыг эхлээд эрэмбэлэх ёстой хоёртын хайлт . Хурдан ажиллахад зориулагдсан тусгай өгөгдлийн бүтэц байдаг хайж байна -аас илүү үр дүнтэй хайлт хийх боломжтой хэш хүснэгт гэх мэт хоёртын хайлт.

Энгийнээр хэлэхэд, хоёртын хайлт нь шугаман хайлтаас хурдан байна уу?

Хоёртын хайлт илүү үр дүнтэй байдаг шугаман хайлтаас илүү ; цаг хугацааны нарийн төвөгтэй O(log n) байна. Өгөгдлийн жагсаалт нь ажиллахын тулд эрэмбэлэгдсэн дарааллаар байх ёстой. А хоёртын хайлт эрэмбэлэгдсэн массивын дунд элементийг олж, зорилтот элементтэйгээ харьцуулах замаар ажилладаг.

Хоёрдугаарт, хоёртын хайлт хамгийн сайн уу? Хэрэв өгөгдөл аль хэдийн түлхүүр дээр эрэмблэгдсэн бол та хайж байна дараа нь хоёртын хайлт хол байна илүү сайн шугаманаас илүү хайх . Хэрэв массив 40,000 элемент байгаа бол бага зэрэг ухарч, хоёртын хайлт шугаман байхад хамгийн ихдээ 16 харьцуулалт үнэтэй байх болно хайх Хамгийн ихдээ 40,000, дунджаар 20,000 харьцуулалт хийх зардал гарна.

Үүнтэй холбогдуулан хамгийн хурдан хайлтын алгоритм юу вэ?

Хоёртын хайлт

Хоёртын хайлтын цаг хугацааны нарийн төвөгтэй байдал гэж юу вэ?

Хоёртын хайлт хамгийн муу логарифм дээр ажилладаг цаг , O(log n) харьцуулалт хийх, энд n нь массив дахь элементийн тоо, O нь Big O тэмдэглэгээ, log нь логарифм юм. Хоёртын хайлт тогтмол (O(1)) зай эзэлдэг бөгөөд энэ нь алгоритмын авсан зай массивын аль ч тооны элементийн хувьд ижил байна гэсэн үг.

Зөвлөмж болгож буй: