Мазмұны:

Сіз шелек сұрыптауды қалай жасайсыз?
Сіз шелек сұрыптауды қалай жасайсыз?

Бейне: Сіз шелек сұрыптауды қалай жасайсыз?

Бейне: Сіз шелек сұрыптауды қалай жасайсыз?
Бейне: Жігітім дұрыстап тықпаса не істеу керек? 2024, Қараша
Anonim

Шелек сұрыптау келесідей жұмыс істейді:

  1. Бастапқыда бос массив орнату » шелектер ".
  2. Шашырау: әрбір нысанды оның ішіне қойып, бастапқы массивтің үстінен өтіңіз шелек .
  3. Сұрыптау әрқайсысы бос емес шелек .
  4. Жиналыңыз: қонаққа барыңыз шелектер реттеп, барлық элементтерді бастапқы массивке қайтарыңыз.

Сонымен қатар, мысалмен шелек сұрыптау дегеніміз не?

Сонымен қатар, сіз жұмыс таба аласыз мысалдар ның шелек сұрыптау C, C++, Java және Python тілдерінде. Шелек сұрыптау Бұл сұрыптау техника бұл сорттар элементтерді алдымен бірнеше топқа бөлу арқылы элементтер деп аталады шелектер . Элементтер алдымен ішіне шашырайды шелектер содан кейін элементтері шелектер болып табылады сұрыпталған.

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

Осыны ескере отырып, шелек сұрыптауындағы шелектердің санын қалай табуға болады?

Егер шелектер әрқайсысының ұзындығы 2^k шелек бір өлшемі бар және шелек сұрыптау санауға азайып кетеді сұрыптау . Сонымен, сіз әрқайсысын қалайсыз шелек өлшемі 1-ден көп болуы керек. Егер бізде n болса шелектер , және msbits(x, k) 2^k мәнді, содан кейін әрқайсысын қайтарады шелек өлшемі 2^k/n.

Шелек сұрыптаудың уақыттық күрделілігі қандай?

Орташа уақыт күрделілігі үшін Шелек сұрыптау O(n+k) болып табылады. Ең жаман уақыт күрделілігі O(n²) болып табылады. Кеңістік күрделілік үшін Шелек сұрыптау O(n+k) болып табылады.

Ұсынылған: