Kaudze vs kaudze
Stack ir sakārtots saraksts, kurā saraksta vienumu ievietošanu un dzēšanu var veikt tikai vienā galā, ko sauc par augšdaļu. Šī iemesla dēļ kaudze tiek uzskatīta par pēdējās pirmās (LIFO) datu struktūru. Kaudzes ir īpaša datu struktūra, kuras pamatā ir koki, un tā atbilst īpašībai, ko sauc par kaudzes īpašību. Arī kaudze ir pilnīgs koks, kas nozīmē, ka starp koka lapām nav spraugu, ti, pilnā kokā katrs līmenis tiek aizpildīts pirms jauna līmeņa pievienošanas kokam, un attiecīgā līmeņa mezgli tiek aizpildīti no no kreisās uz labo.
Kas ir kaudze?
Kā minēts iepriekš, kaudze ir datu struktūra, kurā elementi tiek pievienoti un noņemti tikai no viena gala, ko sauc par augšdaļu. Skursteņi ļauj veikt tikai divas pamata operācijas, ko sauc par push un pop. Stumšanas operācija pievieno jaunu elementu kaudzes augšpusē. Pop operācija noņem elementu no kaudzes augšdaļas. Ja kaudze jau ir pilna, tad, kad tiek veikta spiediena operācija, to uzskata par kaudzes pārpildi. Ja pop operācija tiek veikta jau tukšā kaudzē, tā tiek uzskatīta par kaudzes nepietiekamu plūsmu. Sakarā ar nelielo operāciju skaitu, ko varētu veikt kaudzī, to uzskata par ierobežotu datu struktūru. Turklāt, tā kā tiek definētas push un pop operācijas, ir skaidrs, ka elementi, kas pēdējie tika pievienoti kaudzē, vispirms iziet no kaudzītes. Tāpēc kaudze tiek uzskatīta par LIFO datu struktūru.
Kas ir kaudzes?
Kā minēts iepriekš, kaudzes ir pilnīgs koks, kas atbilst kaudzes īpašībām. Kaudzes īpašums nosaka, ka, ja y ir x mezgla bērns, tad mezglā x saglabātajai vērtībai jābūt lielākai vai vienādai ar y mezglā saglabāto vērtību (t.i., vērtība (x) ≥ vērtība (y)). Šis īpašums nozīmē, ka mezgls ar vislielāko vērtību vienmēr tiktu novietots saknē. Kaudzi, kas uzbūvēta, izmantojot šo īpašumu, sauc par maksimālo kaudzi. Ir vēl viena kaudzes īpašību variācija, kas norāda pretējo. (t.i., vērtība (x) ≤ vērtība (y)). Tas nozīmē, ka mezgls ar mazāko vērtību vienmēr tiktu novietots saknē, to sauc par min-kaudzi. Kaudzēs tiek veikts plašs darbību klāsts, piemēram, minimālā (min-kaudzēs) vai maksimālā (max-kaudzēs) atrašana, minimālā (min-kaudzēs) vai maksimālā (max-kaudzēs) dzēšana, palielināšana (max - kaudzes) vai samazinošs (min-kaudzēs) taustiņš utt.
Kāda ir atšķirība starp kaudzīti un kaudzi?
Galvenā atšķirība starp kaudzēm un kaudzēm ir tā, ka, kamēr kaudze ir lineāra datu struktūra, kaudze ir nelineāra datu struktūra. Steks ir sakārtots saraksts, kas seko LIFO īpašumam, savukārt kaudze ir pilnīgs koks, kas seko kaudzes īpašumam. Turklāt steks ir ierobežota datu struktūra, kas atbalsta tikai ierobežotu skaitu darbību, piemēram, push un pop, savukārt kaudze atbalsta plašu darbību spektru, piemēram, minimālā vai maksimālā atrašana un izdzēšana, atslēgas palielināšana vai samazināšana un apvienošana.