Агуулгын хүснэгт:

Хоёртын хайлтын дундыг хэрхэн олох вэ?
Хоёртын хайлтын дундыг хэрхэн олох вэ?

Видео: Хоёртын хайлтын дундыг хэрхэн олох вэ?

Видео: Хоёртын хайлтын дундыг хэрхэн олох вэ?
Видео: 100 секундын доторх хоёртын хайлтын алгоритм 2024, Арваннэгдүгээр
Anonim

Эрэмбэлэгдсэн массив өгөгдсөн бол бид олдог дунд -хамгийн элемент болон элементийг түлхүүрээр шалгана. Хэрэв дунд -ихэнх элемент нь түлхүүртэй тэнцүү, бид түлхүүрийг олсон. Хэрэв дунд -ихэнх элемент нь түлхүүрээс илүү байдаг, бид хайх зүүн хагаст дунд -хамгийн их элемент, өөрөөр хэлбэл бид хайх баруун хагаст.

Үүнтэй адил хүмүүс хоёртын хайлтыг яаж олох вэ гэж асуудаг.

Хоёртын хайлт : Хайх дахин дахин хуваах замаар эрэмбэлэгдсэн массив хайх хагас дахь интервал. Бүх массивыг хамарсан интервалаар эхэл. Хэрэв үнэ цэнэ нь хайх түлхүүр нь интервалын дунд байгаа зүйлээс бага, доод тал хүртэл интервалыг нарийсгана. Үгүй бол дээд тал руу нь нарийсгана.

Үүний нэгэн адил хоёртын хайлтын том O гэж юу вэ? Хоёртын хайлт үнэндээ а хайх тэнцвэртэй BST дээр ажиллах ( хоёртын хайлт мод). Ийм хайх цаг хугацааны нарийн төвөгтэй байдаг О (лог n). Таны эрэмбэлэгдсэн массивыг гүнээс эхлээд харж болно хайх тэнцвэртэй БСТ-ийн дарааллаар цуваа гаргах. Өөрөөр хэлбэл, дараахь зүйлийг рекурсив хийх (үндэсээс эхлэн):

Хоёртын хайлтын 7 алхам юу вэ?

Хоёртын хайлтын алгоритм

  • Алхам 1 - Хэрэглэгчээс хайлтын элементийг уншина уу.
  • Алхам 2 - эрэмбэлэгдсэн жагсаалтаас дунд элементийг ол.
  • Алхам 3 - Хайлтын элементийг эрэмбэлэгдсэн жагсаалтын дундах элементтэй харьцуул.
  • Алхам 4 - Хэрэв хоёулаа таарч байвал "Өгөгдсөн элемент олдлоо!!!" мөн функцийг зогсооно.

Хоёртын хайлт хэрхэн ажилладаг вэ?

Хоёртын хайлт нь эрэмбэлэгдсэн жагсаалтаас нэг зүйлийг олох үр дүнтэй алгоритм юм. Энэ ажилладаг жагсаалтын хагасыг дахин дахин хуваах замаар чадна Та боломжит байршлыг зөвхөн нэг болгож нарийсгах хүртэл тухайн зүйлийг агуулна.

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