Мазмуну:

Бириктирүү сортунун татаалдыгы кантип эсептелет?
Бириктирүү сортунун татаалдыгы кантип эсептелет?

Video: Бириктирүү сортунун татаалдыгы кантип эсептелет?

Video: Бириктирүү сортунун татаалдыгы кантип эсептелет?
Video: ЭЛДИ БИРИКТИРҮҮ ҮЧҮН БАКИЕВДИ Кыргызстанга АЛЫП КЕЛИШ КЕРЕКПИ? \\ Не Жанылык 19.05.2023 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ди талап кылат салыштыруулар.

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