Видео: Хувинаар ангилах алгоритм байгаа юу?
2024 Зохиолч: Lynn Donovan | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2023-12-15 23:50
Үгүй ээ, энэ нь дотогшоо биш газар ангилах алгоритм . Бүх санаа нь тэр орц юм төрөл руу нүүж байхдаа өөрсдөө хувин . Хамгийн муу тохиолдолд (дараалсан утгууд, гэхдээ дахин давтагдахгүй) шаардлагатай нэмэлт зай нь анхны массив шиг том байна.
Ийм байдлаар ямар эрэмбэлэх алгоритмууд хэрэгжиж байна вэ?
Өөр нэг жишээ болгон, олон эрэмбэлэх алгоритмууд массивуудыг эрэмбэлсэн дарааллаар нь өөрчилдөг, үүнд: хөөс ангилах , самнах, сонгох ангилах, оруулах төрөл , heapsort, Shell сорт. Эдгээр алгоритмууд нь хэдхэн заагч шаарддаг тул тэдгээрийн орон зайн нарийн төвөгтэй байдал нь O(log n) юм. Quicksort нь эрэмбэлэх өгөгдөл дээр газар дээр нь ажилладаг.
Дараа нь, хувин ангилах алгоритм хэрхэн ажилладаг вэ гэсэн асуулт гарч ирнэ. Шанаганы төрөл , эсвэл савны төрөл , нь ангилах алгоритм тэр ажилладаг массивын элементүүдийг хэд хэдэн тоонд хуваарилах замаар хувин . Тус бүр хувин тэгвэл байна эрэмбэлсэн тус тусад нь, эсвэл өөр ашиглаж байна ангилах алгоритм , эсвэл рекурсив хэрэглэх замаар хувин ангилах алгоритм . Эхэндээ хоосон массивыг тохируулах " хувин ".
Үүний дагуу хувингаар ангилах алгоритмыг хэрхэн хэрэгжүүлэх вэ?
- Оролтын массив нь: 10 хэмжээтэй массив үүсгэнэ гэж бодъё.
- Элементүүдийг массиваас хувин руу оруулна. Элементүүдийг хувингийн хүрээний дагуу оруулдаг.
- Тогтвортой ангилах алгоритмуудын аль нэгийг ашиглан хувин бүрийн элементүүдийг эрэмбэлдэг.
- Шанага бүрийн элементүүдийг цуглуулдаг.
Хувин сортыг хаана хэрэглэдэг вэ?
Шанаганы төрөл оролт нь мужид жигд тархсан үед голчлон ашигтай байдаг. Жишээлбэл, дараах асуудлыг авч үзье. Эрэмбэлэх 0.0-ээс 1.0 хүртэлх мужид жигд тархсан хөвөгч цэгүүдийн том багц.
Зөвлөмж болгож буй:
Гурван төрлийн хурдан ангилах нь тогтвортой юу?
3 талын хурдан эрэмбэлэх алгоритм Энэ нь тогтвортой биш байна! Тогтвортой байх нь чухал бол түргэн сорьцын тохиолдлыг ашиглахаас зайлсхий. Энэ нь O(log(n)) нэмэлт зай ашигладаг, яагаад? Рекурсын улмаас
Ангилах алгоритмыг хаана ашигладаг вэ?
Програмуудыг ангилах товч судалгаа. Арилжааны тооцоолол. Мэдээлэл хайх. Үйл ажиллагааны судалгаа. Үйл явдалд суурилсан симуляци. Тоон тооцоолол. Комбинаторын хайлт. Примийн алгоритм ба Дийкстрагийн алгоритм нь график боловсруулдаг сонгодог алгоритмууд юм
Та хувин ангилах ажлыг хэрхэн хийдэг вэ?
Хувинаар эрэмбэлэх нь дараах байдлаар ажиллана: Эхэндээ хоосон "хувин"-уудын массивыг тохируулна уу. Тархах: Объект бүрийг хувиндаа хийж, эх массив дээр оч. Хоосон биш хувин бүрийг эрэмбэлэх. Цуглуулах: Хувинг дарааллаар нь зочилж, бүх элементүүдийг анхны массив руу буцаана уу
Та JavaScript дээр тоонуудыг хэрхэн ангилах вэ?
Тоонуудыг эрэмбэлэхийн тулд a нь b-ээс бага бол сөрөг тоо, b нь а-аас бага бол эерэг тоо, тоо нь ижил байвал 0-ийг буцаадаг функц бичих шаардлагатай. Үүнийг тоонуудыг хасах замаар хялбархан хийж болно
Таны харж байгаа зүйл бол Канеман л байгаа юм уу?
WYSIATI гэдэг нь "What you see is all there" гэсэн үгийн товчлол бөгөөд Даниел Канеман "Сэтгэхүй, хурдан ба удаан" номондоо тайлбарласан танин мэдэхүйн хэвшмэл ойлголт бөгөөд шийдвэр гаргахдаа бид ямар үндэслэлгүй байдгийг, мөн энэ нь бидэнд ямар ач холбогдолгүй болохыг тайлбарладаг