null
US
Entrar
Registre-se gratuitamente
Registre-se
Detectamos que o JavaScript não está habilitado no teu navegador. Habilite o Javascript para o funcionamento correto do nosso site. Por favor, leia os
Termos e Condições
para mais informações.
Próximo
Copiar e Editar
Você deve estar logado para concluir esta ação!
Inscreva-se gratuitamente
4452077
Haldy
Descrição
PAL
Sem etiquetas
it
computing
math
a4m33pal
grafy
semester
Mapa Mental por
Michal Roch
, atualizado more than 1 year ago
Mais
Menos
Criado por
Michal Roch
quase 9 anos atrás
38
0
0
Resumo de Recurso
Haldy
Typy
Binární halda
Popis
Kompletní binární strom - všechny úrovně kromě jsou plně obsazeny
Operace
Insert
Přidat na konec haldy
Swapovat s parentem dokud není platná podmínka
AccessMin
Vrátí kořen
Delete / DeleteMin
Prohoď prvek s posledním prvkem haldy
Swapuj dokud není obnovena podmínka haldy
Smaž poslední prvek
BuildHeap
Seřadí pole do haldy
Od dolní meze poloviny délky pole až po první prvek volá Heapify
Pokud jeden nebo více potomků je větší než rodič
Prohod většího z potomků s rodičem
O(n)
Reprezentace
Spojový seznam
Pole
X(1)- kořen
X(n) - prvek
X(2n) / X(2n+1) - potomci
Binomiální halda
Popis
Les binomiálních stromů odlišného stupně
Každý strom daného stupně může být přítomen max 1
Binomiální strom je definován rekurzivně
Stupeň 0 je jeden prvek
Stupeň k má kořen, jehož potomci jsou stromy stupňě k-1, k-2,...,1,0
Výška binomiálního stromu je rovna jeho stupni
Kořen binomiálního stromu má právě k potomků
Binomiální strom má právě 2^k prvků
i-tá úroveň binomiálního stromu obsahuje právě k nad i prvků
Reprezentace
Kořeny jsou v linked listu protože na kořeny se nedotazujeme náhodně
Udržujeme minpointer který odkazuje na strom s nejmenším kořenem
Operace
Insert
Vytvoří novou haldu s jedním stromem 0 stupně a zavolá merge na původní haldu
AccessMin
Vrátí kořen z minpointeru
Merge
Spojí dvě haldy do jedné
Spojí linkedlisty v pořadí podle stupně stromů
Zleva kontroluje stromy stejného stupně - 4 cases
k[x] <= k[x+1]
x+1 je potomek x
k[x] > k[x+1]
x je potomek x+1
k[x] != l[x+1]
Jdi dál
k[x] == k[x+1] == k[x+2]
Jdi dál
Delete
Přidej potomky min stromu jako nové bin. stromy nové haldy
Smaž původní min strom
Zavolej merge
DecreseKey
Stejné jako u binárního stromu
Delete
Klíč prvku je -INF
Stane se novým minimem
Zavolej delete min
Fibonacciho halda
Vlastnosti
Amortizovaná složitost lepší než bin. halda
Nevhodná pro real-time systémy protože některé operace mají lineární složistot
Složitá na implementaci
Operace
DeleteMin
Všechny potomky stromu nalinkovat na původní místo kořene
Consolidate
Začni od minima a postupuj doprava dokud neprojdeš všechny kořeny
Do pole A ukládej odkaz na strom na pozici d kde d je stupeň stromu
Jakmile narazíš na strom, který je stejného stupně jako už dříve objevený (A[d] je obsazeno)
Kořen s menším klíčem nalinkuj jako potomka většího klíče
Zvyš stupeň stromu a znovu prověř, jestli už nebyl takový strom nalezen
Náhodný kořen je nový min
Instert
Přidej nový strom s jedním prvkem
Nastav mark na false
DecreaseKey
Sniž hodnotu klíče
Pokud je menší než rodič, odřízni ho a přidej jako nový strom
Pokud rodič byl marked odřízni ho taky
Delete
DecreaseKey na nekonečno a deleteMin
Popis
Uvolněná varianta bin. haldy
Markuje uzly při odebrání potomka
Je-li odebrán potomek označenému uzlu, rodič je odtržen a přidán jako nový strom
Díky tomu je velikost podstromu stupně k alepsoń Fk+2 kde Fk je kté Fibb. číslo
Nepotřebné operace odkládá na později
Spojení stromů se dělá jen při DeleteMin (consolidate)
Amortizovaná složitost většiny operací je tak konstantní
Reprezentace
Obousměrný kruhový seznam sousedů a kořenů
Odkaz na prvního potomka
n-ární halda
Zobecnění binární haldy
Operace analogicky stejné
Asymptotická složitost operací stejná
Přesná složitost odlišná podle základu logaritmu
BInární halda je efektivní protože lze využívat binárních posunů pro průchod stromem
n-ární halda je rychlejší pro haldy, které se nevlezou do paměti počítače
Datová struktura (obvykle strom), která splňuje podmínku haldy
Pokud B je potomek A, pak key(B)>=key(A)
Anexos de mídia
62e437f5-0ad2-4da7-a0e0-457307825337 (image/png)
Quer criar seus próprios
Mapas Mentais
gratuitos
com a GoConqr?
Saiba mais
.
Semelhante
Computing
Kwame Oteng-Adusei
Pythagorean Theorem Quiz
Selam H
Geometry Vocabulary
patticlj
Algebra 2 Quality Core
Niat Habtemariam
Types and Components of Computer Systems
Jess Peason
Input Devices
Jess Peason
Output Devices
Jess Peason
Common Technology Terms
Julio Aldine Branch-HCPL
Project Communications Management
farzanajeffri
Network Protocols
Shannon Anderson-Rush
Abstraction
Shannon Anderson-Rush
Explore a Biblioteca