Чака сорттоо алгоритми ордундабы?
Чака сорттоо алгоритми ордундабы?

Video: Чака сорттоо алгоритми ордундабы?

Video: Чака сорттоо алгоритми ордундабы?
Video: More than Coffee: Golang. Почему Java разработчики учат GO как второй язык. 2024, Декабрь
Anonim

Жок, бул ички эмес жер сорттоо алгоритм . Бүт идея ошол киргизүү сорттор алар көчүп келгенде өздөрү чакалар . Эң начар учурларда (ырааттуу маанилер, бирок кайталанбоо) кошумча мейкиндик баштапкы массивдей чоң.

Ушундай жол менен, кандай сорттоо алгоритмдери бар?

Дагы бир мисал катары, көптөгөн сорттоо алгоритмдери массивдерди ордунда иреттелген тартипте иретке келтирет, анын ичинде: көбүк сорту , тарак сорттоо, тандоо сорттоо, киргизүү сорту , үймөк сорттоо жана Shell сорттоо. Бул алгоритмдер бир нече көрсөткүчтү талап кылат, ошондуктан алардын мейкиндик татаалдыгы O(log n) болуп саналат. Quicksort иргеле турган маалыматтар боюнча өз ордунда иштейт.

Андан кийин суроо туулат, чака сорттоо алгоритми кантип иштейт? Чака сорту , же бин сорт , болуп саналат сорттоо алгоритми ошол иштейт массивдин элементтерин бир катарга бөлүштүрүү менен чакалар . Ар бир чака Анан сорттолгон жекече, же башкасын колдонуу сорттоо алгоритми , же рекурсивдүү колдонуу менен чака сорттоо алгоритми . Башында бош массивди орнотуңуз " чакалар ".

Демек, чака сорттоо алгоритмин кантип ишке ашырасыз?

  1. Айталы, киргизүү массиви: 10 өлчөмүндөгү массив түзүңүз.
  2. Элементтерди массивден чакаларга салыңыз. Элементтер чаканын диапазонуна ылайык киргизилет.
  3. Ар бир чаканын элементтери туруктуу сорттоо алгоритмдеринин каалаганын колдонуу менен сорттолот.
  4. Ар бир чакадан элементтер чогултулат.

Чака сорту кайда колдонулат?

Чака сорту Киргизүү диапазондо бирдей бөлүштүрүлгөндө, негизинен пайдалуу. Мисалы, төмөнкү маселени карап көрөлү. Сорттоо 0,0дөн 1,0го чейинки диапазондо турган жана диапазондо бирдей бөлүштүрүлгөн калкыма чекиттүү сандардын чоң топтому.

Сунушталууда: