Гурван төрлийн хурдан ангилах нь тогтвортой юу?
Гурван төрлийн хурдан ангилах нь тогтвортой юу?

Видео: Гурван төрлийн хурдан ангилах нь тогтвортой юу?

Видео: Гурван төрлийн хурдан ангилах нь тогтвортой юу?
Видео: Теперь ЭТО Мой ЛЮБИМЫЙ торт! ПП торт ТРИ ШОКОЛАДА! ПП рецепты БЕЗ САХАРА! 2024, Дөрөвдүгээр сар
Anonim

3 - хурдан ангилах арга алгоритм

Тийм биш тогтвортой ! Хэрэглэхээс зайлсхий хурдан ангилах тохиолдолд тогтвортой байдал зайлшгүй шаардлагатай. Энэ нь O(log(n)) нэмэлт зай ашигладаг, яагаад? Рекурсын улмаас.

Үүний нэгэн адил QuickSort-ийг тогтвортой болгож чадах уу?

Ангилах алгоритмыг гэж хэлдэг тогтвортой Түлхүүрүүдийн тэгш байдлын хувьд энэ нь бүртгэлийн харьцангуй дарааллыг хадгалж байвал. А тогтвортой Алгоритм нь эхний гаралтыг гаргадаг. Түргэн эрэмбэлэх нь тогтворгүй алгоритм учраас бид хийх тэнхлэгийн байрлалын дагуу элементүүдийг солих (анхны байрлалыг харгалзахгүйгээр).

QuickSort-ийн цагийн нарийн төвөгтэй байдал юу вэ? Хэдийгээр QuickSort-ийн хамгийн муу тохиолдол нь цаг хугацааны нарийн төвөгтэй байдал нь O(n2) нь бусад олон ангилах алгоритмуудаас илүү юм Эрэмбэлэх болон нуруулдан эрэмбэлэх, QuickSort нь илүү хурдан хэрэглэгддэг, учир нь түүний дотоод гогцоо нь ихэнх архитектурууд болон бодит ертөнцийн ихэнх өгөгдөлд үр дүнтэй хэрэгжих боломжтой.

Үүнийг анхаарч үзвэл ямар эрэмбэлэх алгоритм тогтвортой вэ?

А ангилах алгоритм гэж хэлдэг тогтвортой хэрэв ижил товчлууртай хоёр объект эрэмбэлэгдсэн оролтын массив дотор гарч ирэхтэй ижил дарааллаар эрэмбэлэгдсэн гаралт дээр гарч ирвэл. Зарим эрэмбэлэх алгоритмууд байна тогтвортой угаасаа Оруулах гэх мэт ангилах , нэгтгэх Эрэмбэлэх , Бөмбөлөг Эрэмбэлэх , гэх мэт.

Сонголт яагаад тогтвортой биш байна вэ?

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

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