Мазмуну:

Бириктирүү сорту кайда колдонулат?
Бириктирүү сорту кайда колдонулат?

Video: Бириктирүү сорту кайда колдонулат?

Video: Бириктирүү сорту кайда колдонулат?
Video: Агро Чарба: Эсиң барда эчки бак, эчки тууйт эки улак 2024, Май
Anonim

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

Муну эске алуу менен, кыстаруу сорту кайда колдонулат?

Колдонууда: Кыстаруу сорту болуп саналат колдонулган элементтердин саны аз болгондо. Киргизүү массиви дээрлик болгондо да пайдалуу болушу мүмкүн сорттолгон , толук чоң массивде бир нече гана элементтер туура эмес жайгаштырылат. Binary деген эмне Insertion Sort ? Кадимки салыштыруулардын санын азайтуу үчүн биз бинардык издөөнү колдоно алабыз киргизүү сорту.

Ошондой эле билесизби, мисал менен бириктирүү деген эмне? Ан мисал нын бириктирүү сорту . Алгач тизмени эң кичине бирдикке (1 элемент) бөлүңүз, андан кийин ар бир элементти жанаша тизме менен салыштырыңыз сорттоо жана бириктирүү эки жанаша тизмелер. Акыр-аягы, бардык элементтер сорттолгон жана бириктирилди . Бириктирүү сорту 1945-жылы Жон фон Нейман тарабынан ойлоп табылган бөлүү жана жеңүү алгоритми.

Буга байланыштуу, эмне үчүн бириктирүү сорту колдонулат?

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

Бириктирүү сортторун кантип колдоносуз?

Бул жерде бириктирүү сорту бөлүү жана жеңүү ыкмасын колдонот:

  1. p жана r ортосундагы позициянын q санын табуу менен бөлүңүз.
  2. Бөлүү кадамы менен түзүлгөн эки чакан маселенин ар бириндеги кичи массивдерди рекурсивдүү сорттоо менен жеңиңиз.
  3. Эки сорттолгон кошумча массивди кайра бирдиктүү сорттолгон кошумча массивге бириктирүү менен бириктириңиз[б.

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