«Կույտային դասակարգում»–ի խմբագրումների տարբերություն
Content deleted Content added
ավելացվեց Կատեգորիա:Դասակարգման ալգորիթմներ ՀոթՔաթ գործիքով |
չ վերջակետների ուղղում, փոխարինվեց: ն: → ն։ (18) oգտվելով ԱՎԲ |
||
Տող 1.
'''Կույտային դասակարգումը''' առաջարկվել է Ջ.Ուիլիամսի կողմից 1964
Կարող է դիտվել որպես պղպջակային դասակարգման կատարելագործում, որում տարրը լողում է (min-heap), սուզվում (max-heap) բազմազան
== Ալգորիթմ ==
Կույտային դասակարգումը օգտագործում է դասակարգող
# Ամեն ճյուղ ունի կամ d, կամ (d − 1) երկարություն, որտեղ d` ծառի առավելագույն երկարությունն
# Ցանկացած գագաթի արժեք մեծ է իր
Դասակարգվող ծառի համար հարմար տվյալների կառուցվածքը այնպիսի Array զանգված է, որտեղ Array[1] արմատային տարր է, իսկ Array[i]-ի հաջորդողները Array[2i] և Array[2i+1]-ն
Դասակարգման ալգորիթմը բաղկացած է 2 հիմնական
1. Դասավորում ենք զանգվածի տարրերը դասակարգվող ծառի
<math>Array[i]\geq Array[2i]</math>
Տող 18.
երբ <math>1\leq i<n/2</math>.
Այդ քայլը պահանջում է <math>O(n)</math>
2. Արմատից պետք է ջնջել տարրերը մեկը մյուսի հետևից և վերակառուցել
Այս քայլը պահանջում է O(nlogn)
==Առավելությունները և թերությունները==
Տող 33.
* անկայուն է `կայունության ապահովման համար պետք է ընդլայնել բանալին,
* գրեթե տեսակավորված զանգվածում աշխատում է այնքան ժամանակ, որքան քաոսային տվյալների վրա,
* ընտրությունը ստիպված պետք է անել քաոսային ձևով զանգվածի ամբողջ երկարությամբ, այդ իսկ պատճառով ալգորիթմը վատ է զուգորդվում քեշավորված և ներմղված հիշողության
''O''(''n'') հիշողության ծախսումը միաձուլման դասակարգման միջոցով ավելի արագ է (<math>O(n\cdot\log n)</math>)փոքր հաստատունով և հակված չէ անհաջող տվյալների պատճառով դեգրադացման :
Ալգորիթմի դժվարության պատճառով շահումը լինում է միայն մեծատառ ''n''-
|