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

Нэгтгэх сортыг хаана ашигладаг вэ?
Нэгтгэх сортыг хаана ашигладаг вэ?

Видео: Нэгтгэх сортыг хаана ашигладаг вэ?

Видео: Нэгтгэх сортыг хаана ашигладаг вэ?
Видео: CERN - Бурхны бөөм буюу Хигс бозон гэж юу вэ ? 2024, May
Anonim

Эрэмбэлэх : ашигласан өгөгдлийн сангийн хувилбарт, учир нь тогтвортой (олон түлхүүр ангилах ) болон гадаад (үр дүн бүгд санах ойд тохирохгүй). Нэмэлт өгөгдөл ирэх үед эсвэл дараа нь ирдэг тархсан хувилбаруудад ашигтай ангилах . Санах ойн хэрэглээ нь жижиг төхөөрөмжүүдэд илүү өргөн ашиглахаас сэргийлдэг ч Nlog^2N хувилбар байдаг.

Үүнийг анхаарч үзвэл, оруулах эрэмбэ хаана хэрэглэгддэг вэ?

Хэрэглээ: Оруулах төрөл байна ашигласан элементүүдийн тоо бага байх үед. Энэ нь оролтын массив бараг байх үед хэрэг болно эрэмбэлсэн , бүрэн том массив дотор хэдхэн элемент буруу байрлуулсан байна. Бинар гэж юу вэ Оруулах эрэмбэ ? Бид ердийн үед харьцуулах тоог багасгахын тулд хоёртын хайлтыг ашиглаж болно оруулах төрөл.

Мөн жишээн дээр нэгтгэх эрэмбэ гэж юу болохыг мэдэх үү? Ан жишээ -ийн нэгтгэх төрөл . Эхлээд жагсаалтыг хамгийн жижиг нэгжид (1 элемент) хувааж, дараа нь элемент бүрийг зэргэлдээх жагсаалттай харьцуул ангилах болон нэгтгэх хоёр зэргэлдээ жагсаалт. Эцэст нь бүх элементүүд байна эрэмбэлсэн болон нэгтгэсэн . Нэгтгэх төрөл Энэ нь 1945 онд Жон фон Нейманн зохион бүтээсэн хуваах ба ялах алгоритм юм.

Үүнтэй холбогдуулан яагаад нэгтгэх сортыг ашигладаг вэ?

Эрэмбэлэх -д ашигтай ангилах холбоотой жагсаалтууд. Эрэмбэлэх жүчээ юм ангилах Энэ нь массив дахь ижил элемент бие биенээсээ анхны байрлалаа хадгалдаг гэсэн үг юм. Нийт цаг хугацааны нарийн төвөгтэй байдал Нэгтгэх төрөл нь O(nLogn) юм. Энэ нь хамгийн муу тохиолдолд ажиллах хугацаа нь O(nlogn) учраас илүү үр дүнтэй байдаг.

Та нэгтгэх сортыг хэрхэн ашигладаг вэ?

Нэгтгэх эрэмбэ нь хуваах ба ялахыг хэрхэн ашигладагийг эндээс үзнэ үү:

  1. p ба r хоёрын дундах байрлалын q тоог олох замаар хуваана.
  2. Хуваах алхамаар үүсгэсэн хоёр дэд асуудал тус бүрийн дэд массивуудыг рекурсив байдлаар эрэмбэлж байлдан дагуулаарай.
  3. Эрэмбэлэгдсэн хоёр дэд массивыг нэг эрэмбэлэгдсэн дэд массив болгон нэгтгэх замаар нэгтгэнэ.

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