Агуулгын хүснэгт:
Видео: Хоёртын хайлтын дундыг хэрхэн олох вэ?
2024 Зохиолч: Lynn Donovan | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2023-12-15 23:50
Эрэмбэлэгдсэн массив өгөгдсөн бол бид олдог дунд -хамгийн элемент болон элементийг түлхүүрээр шалгана. Хэрэв дунд -ихэнх элемент нь түлхүүртэй тэнцүү, бид түлхүүрийг олсон. Хэрэв дунд -ихэнх элемент нь түлхүүрээс илүү байдаг, бид хайх зүүн хагаст дунд -хамгийн их элемент, өөрөөр хэлбэл бид хайх баруун хагаст.
Үүнтэй адил хүмүүс хоёртын хайлтыг яаж олох вэ гэж асуудаг.
Хоёртын хайлт : Хайх дахин дахин хуваах замаар эрэмбэлэгдсэн массив хайх хагас дахь интервал. Бүх массивыг хамарсан интервалаар эхэл. Хэрэв үнэ цэнэ нь хайх түлхүүр нь интервалын дунд байгаа зүйлээс бага, доод тал хүртэл интервалыг нарийсгана. Үгүй бол дээд тал руу нь нарийсгана.
Үүний нэгэн адил хоёртын хайлтын том O гэж юу вэ? Хоёртын хайлт үнэндээ а хайх тэнцвэртэй BST дээр ажиллах ( хоёртын хайлт мод). Ийм хайх цаг хугацааны нарийн төвөгтэй байдаг О (лог n). Таны эрэмбэлэгдсэн массивыг гүнээс эхлээд харж болно хайх тэнцвэртэй БСТ-ийн дарааллаар цуваа гаргах. Өөрөөр хэлбэл, дараахь зүйлийг рекурсив хийх (үндэсээс эхлэн):
Хоёртын хайлтын 7 алхам юу вэ?
Хоёртын хайлтын алгоритм
- Алхам 1 - Хэрэглэгчээс хайлтын элементийг уншина уу.
- Алхам 2 - эрэмбэлэгдсэн жагсаалтаас дунд элементийг ол.
- Алхам 3 - Хайлтын элементийг эрэмбэлэгдсэн жагсаалтын дундах элементтэй харьцуул.
- Алхам 4 - Хэрэв хоёулаа таарч байвал "Өгөгдсөн элемент олдлоо!!!" мөн функцийг зогсооно.
Хоёртын хайлт хэрхэн ажилладаг вэ?
Хоёртын хайлт нь эрэмбэлэгдсэн жагсаалтаас нэг зүйлийг олох үр дүнтэй алгоритм юм. Энэ ажилладаг жагсаалтын хагасыг дахин дахин хуваах замаар чадна Та боломжит байршлыг зөвхөн нэг болгож нарийсгах хүртэл тухайн зүйлийг агуулна.
Зөвлөмж болгож буй:
Бусад хайлтын системийг хайдаг хайлтын систем гэж юу вэ?
Хайлтын адал явдлаа эхлүүлэхийн тулд эхний гурваас бусад ерөнхий хайлтын системийг харцгаая. DuckDuckGo. Онлайн нууцлалын талаар санаа зовж байна уу? Шифрлэх. DuckDuckGo-н өөр хувилбар хайж байна уу? Экосиа. Та хайж байхдаа мод тарьмаар байна уу? Нохой. Блекко. ВолфрамАльфа. Гигабласт. Facebook хайлт
Хоёртын хайлтын рекурс хийх үү?
Хоёртын хайлт нь хуваах ба ялах алгоритм юм. Бүх хуваах ба ялах алгоритмуудын нэгэн адил Хоёртын хайлт нь эхлээд том массивыг хоёр жижиг дэд массив болгон хувааж, дараа нь дэд массивуудыг рекурсив (эсвэл давталтаар) ажиллуулдаг. Тиймээс хоёртын хайлт нь алхам бүрт хайлтын зайг хагас болгон бууруулдаг
Та Java дээр хоёртын хайлтын модыг хэрхэн хэрэгжүүлэх вэ?
Java-д хоёртын хайлтын мод (BST)-ийг хэрэгжүүлэх нь Зангилааны зүүн дэд мод нь зөвхөн зангилааны түлхүүрээс бага түлхүүртэй зангилаануудыг агуулна. Зангилааны баруун дэд мод нь зөвхөн зангилааны түлхүүрээс их түлхүүртэй зангилаануудыг агуулна. Зүүн ба баруун дэд мод тус бүр нь хоёртын хайлтын мод байх ёстой. Давхардсан зангилаа байх ёсгүй
Хоёртын хайлтын модны хамгийн муу тохиолдол ба дундаж тохиолдлын нарийн төвөгтэй байдал юу вэ?
Хоёртын хайлтын мод Алгоритм Дундаж Хамгийн муу тохиолдол Зай O(n) O(n) Хайх O(log n) O(n) Insert O(log n) O(n) Устгах O(log n) O(n)
Хоёртын хайлтын том O гэж юу вэ?
Хоёртын хайлт нь жижиг массивуудаас бусад тохиолдолд шугаман хайлтаас хурдан байдаг. Хоёртын хайлтын алгоритм. Хоёртын хайлтын алгоритмын дүрслэл 7 нь зорилтот утга Анги Хайлтын алгоритм Шилдэг тохиолдол O(1) Дундаж гүйцэтгэл O(log n) Хамгийн муу орон зайн нарийн төвөгтэй байдал O(1)