Шелек сұрыптау алгоритмі орнында ма?
Шелек сұрыптау алгоритмі орнында ма?

Бейне: Шелек сұрыптау алгоритмі орнында ма?

Бейне: Шелек сұрыптау алгоритмі орнында ма?
Бейне: Жахина Р.У. Алгоритмдер, деректер құрылымы және программалау. 1ИСКО. №9 лекция. 2024, Мамыр
Anonim

Жоқ, бұл кіріс емес… орын сұрыптау алгоритм . Бүкіл идея - бұл кіріс сорттар көшкен сайын өздері шелектер . Ең нашар жағдайда (дәйекті мәндер, бірақ қайталанусыз) қажет қосымша орын бастапқы массив сияқты үлкен.

Осылайша, қандай сұрыптау алгоритмдері бар?

Басқа мысал ретінде, көптеген сұрыптау алгоритмдері массивтерді орнында сұрыпталған ретке қайта реттейді, соның ішінде: көпіршікті сұрыптау , тарақпен сұрыптау, таңдау сұрыптау, кірістіру сұрыптауы , үйме сұрыптау және Shell сұрыптау. Бұл алгоритмдер тек бірнеше көрсеткішті қажет етеді, сондықтан олардың кеңістік күрделілігі O(log n) болады. Жылдам сұрыптау сұрыпталатын деректерде орнында жұмыс істейді.

Содан кейін сұрақ туындайды, шелек сұрыптау алгоритмі қалай жұмыс істейді? Шелек сұрыптау , немесе қоқыс сұрыптау , Бұл сұрыптау алгоритмі сол жұмыс істейді массив элементтерін санға бөлу арқылы шелектер . Әрбір шелек сонда сұрыпталған жеке, не басқасын пайдаланады сұрыптау алгоритмі , немесе рекурсивті қолдану арқылы шелек сұрыптау алгоритмі . Бастапқыда бос массив орнату » шелектер.

Сәйкесінше, шелек сұрыптау алгоритмін қалай жүзеге асырасыз?

  1. Айталық, кіріс массиві: 10 өлшемді массив жасаңыз.
  2. Элементтерді массивтен шелектерге кірістіріңіз. Элементтер шелек ауқымына сәйкес енгізіледі.
  3. Әрбір шелектің элементтері тұрақты сұрыптау алгоритмдерінің кез келгенін пайдаланып сұрыпталады.
  4. Әр шелектегі элементтер жиналады.

Шелек сұрыптауы қайда қолданылады?

Шелек сұрыптау негізінен кіріс ауқымға біркелкі бөлінгенде пайдалы. Мысалы, келесі мәселені қарастырыңыз. Сұрыптау 0,0-ден 1,0-ге дейінгі диапазондағы және ауқымда біркелкі таратылатын өзгермелі нүктелі сандардың үлкен жиынтығы.

Ұсынылған: