Мазмұны:

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

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

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

2 Жауаптар. A[L, R] түйінін екі түйінге бөлу R−L+1 уақытын алады, содан кейін біріктіру екі еншілес түйін A[L, M] және A[M+1, R] қайтадан A[R−L+1] уақытын алады. Осылайша, әрбір түйін үшін операциялар саны алгоритм орындау осы түйінге сәйкес массивтің екі еселенген өлшеміне тең.

Осыған байланысты біріктіру сұрыптауы қалай жұмыс істейді?

Міне, біріктіру сұрыптауы бөлу және жеңу әдісін пайдаланады:

  1. p және r арасындағы позицияның q санын табу арқылы бөліңіз.
  2. Бөлу қадамымен жасалған екі ішкі мәселенің әрқайсысында ішкі массивтерді рекурсивті сұрыптау арқылы жеңіңіз.
  3. Екі сұрыпталған ішкі массивтерді бір сұрыпталған ішкі жиым массивіне біріктіру арқылы біріктіріңіз[б..

Сондай-ақ, біріктіру сұрыптауы үшін үлкен O күрделілігі қандай? Біріктіру сұрыптауы атқора болып табылады сұрыптау бұл массивтегі бірдей элемент бір-біріне қатысты бастапқы орындарын сақтайтынын білдіреді. Жалпы уақыт күрделілік ның Біріктіру сұрыптауы болып табылады О (nLogn). Бұл тиімдірек, өйткені ол ең нашар жағдайда жұмыс уақыты да болады О (nlogn) Кеңістік күрделілік ның Біріктіру сұрыптауы болып табылады О (n).

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

n*log(n)

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

Тізімдердің біріндегі элементтер таусылғанда, біз қалған элементтерді тізімнің соңғы ұяларына саламыз. сұрыпталған тізім. Нәтижесінде, біріктіру жалпы саны n элементі бар екі тізім үшін ең көбі n-1 қажет салыстырулар.

Ұсынылған: