Podcast
Questions and Answers
Í uppsöfnuðu tímaflækju, ef rauntími fyrir aðgerð er táknaður sem $c_i$ og uppsafnaður tími er reiknaður með jöfnunni $a_i = c_i + \Phi(H_{i+1}) - \Phi(H_i)$, hvaða fullyrðing er rétt varðandi $\Delta\Phi$?
Í uppsöfnuðu tímaflækju, ef rauntími fyrir aðgerð er táknaður sem $c_i$ og uppsafnaður tími er reiknaður með jöfnunni $a_i = c_i + \Phi(H_{i+1}) - \Phi(H_i)$, hvaða fullyrðing er rétt varðandi $\Delta\Phi$?
- $\Delta\Phi$ táknar alltaf jákvæða breytingu á möguleikafalli.
- $\Delta\Phi$ táknar alltaf neikvæða breytingu á möguleikafalli.
- $\Delta\Phi$ táknar breytinguna á möguleikafalli og getur verið jákvæð eða neikvæð, sem hefur áhrif á uppsafnaðan tíma. (correct)
- $\Delta\Phi$ getur verið bæði jákvæð og neikvæð, en hefur engin áhrif á uppsafnaðan tíma.
Í samhengi við uppsöfnuð tímaflækju og mættisfalls (potential method), hvaða fullyrðing er sönn um gildi mættisfallsins, $\Phi(H)$, fyrir gagnagrind $H$?
Í samhengi við uppsöfnuð tímaflækju og mættisfalls (potential method), hvaða fullyrðing er sönn um gildi mættisfallsins, $\Phi(H)$, fyrir gagnagrind $H$?
- $\Phi(H)$ er alltaf jákvætt og eykst með hverri aðgerðir.
- $\Phi(H)$ er alltaf stærra eða jafnt og núll og táknar ákveðna eiginleika gagnagrindarinnar. (correct)
- $\Phi(H)$ getur verið neikvætt ef gagnagrindin er óhagkvæm.
- $\Phi(H)$ er alltaf jafnt núlli.
Hvernig hefur val á mættisfalli (potential function) áhrif á greiningu á uppsöfnuðum tímaflækjum?
Hvernig hefur val á mættisfalli (potential function) áhrif á greiningu á uppsöfnuðum tímaflækjum?
- Val á mættisfalli hefur engin áhrif á greininguna, þar sem uppsafnaður kostnaður er reiknaður óháð því.
- Mættisfallið er eingöngu notað til að einfalda útreikninga og hefur ekki raunveruleg áhrif á niðurstöðurnar.
- Besta mættisfallið er alltaf það sem gefur lægsta mögulega uppsafnaða kostnað.
- Val á mættisfalli getur haft veruleg áhrif á niðurstöður greiningarinnar, þar sem það ákvarðar hvernig kostnaður er jafnaður yfir aðgerðir. (correct)
Hvaða fullyrðing lýsir best hlutverki amortized kostnaðar við greiningu á reikniritum?
Hvaða fullyrðing lýsir best hlutverki amortized kostnaðar við greiningu á reikniritum?
Í tengslum við fylki sem stækka tvöfalt þegar þörf er á meira plássi, hvaða fullyrðing er rétt um tímaflækju þess að bæta við staki?
Í tengslum við fylki sem stækka tvöfalt þegar þörf er á meira plássi, hvaða fullyrðing er rétt um tímaflækju þess að bæta við staki?
Þegar unnið er með fylki af stærð $m$ sem inniheldur $n$ stök og stækkar tvöfalt ef vantar pláss, hvaða fullyrðing er sönn ef við höldum fylkinu alltaf 25% fullu?
Þegar unnið er með fylki af stærð $m$ sem inniheldur $n$ stök og stækkar tvöfalt ef vantar pláss, hvaða fullyrðing er sönn ef við höldum fylkinu alltaf 25% fullu?
Ef við notum mættisfallið $\Phi(n) =$ fjöldi ása í tvíundartölunni $n$ fyrir aðgerðir á fylki, hvernig hjálpar það til við að greina uppsöfnuðu tímaflækjuna?
Ef við notum mættisfallið $\Phi(n) =$ fjöldi ása í tvíundartölunni $n$ fyrir aðgerðir á fylki, hvernig hjálpar það til við að greina uppsöfnuðu tímaflækjuna?
Hvaða áhrif hefur það á heildarkostnaðinn ef mættisfallið er skilgreint sem $\Phi(H) = 3n - m \geq 0$, þar sem $n$ er fjöldi staka og $m$ er stærð fylkisins, og við stækkum fylkið tvöfalt þegar það er fullt?
Hvaða áhrif hefur það á heildarkostnaðinn ef mættisfallið er skilgreint sem $\Phi(H) = 3n - m \geq 0$, þar sem $n$ er fjöldi staka og $m$ er stærð fylkisins, og við stækkum fylkið tvöfalt þegar það er fullt?
Í Fibonacci hrúgu, hvaða fullyrðing er sönn um tvítengda listann af trjám?
Í Fibonacci hrúgu, hvaða fullyrðing er sönn um tvítengda listann af trjám?
Hvaða þýðingu hefur það í Fibonacci hrúgu þegar sumir hnútar eru merktir?
Hvaða þýðingu hefur það í Fibonacci hrúgu þegar sumir hnútar eru merktir?
Hvernig er rank(x)
skilgreint í Fibonacci hrúgu og hvaða þýðingu hefur það?
Hvernig er rank(x)
skilgreint í Fibonacci hrúgu og hvaða þýðingu hefur það?
Hvaða áhrif hefur aðgerðin Link(T1, T2)
á Fibonacci hrúgu?
Hvaða áhrif hefur aðgerðin Link(T1, T2)
á Fibonacci hrúgu?
Gefið að $\Phi(H) = trees(H) + 2 \cdot marks(H)$ í Fibonacci hrúgu, hvernig breytist möguleikafallið við Link
aðgerð?
Gefið að $\Phi(H) = trees(H) + 2 \cdot marks(H)$ í Fibonacci hrúgu, hvernig breytist möguleikafallið við Link
aðgerð?
Hvaða skref felur í sér delete_min
aðgerðin í Fibonacci hrúgu?
Hvaða skref felur í sér delete_min
aðgerðin í Fibonacci hrúgu?
Hvað gerist þegar leitað er að nýju min í delete_min
aðgerðinni í Fibonacci hrúgu?
Hvað gerist þegar leitað er að nýju min í delete_min
aðgerðinni í Fibonacci hrúgu?
Hvað er átt við með Vanlar kostnaður
í samhengi við Fibonacci hrúgur?
Hvað er átt við með Vanlar kostnaður
í samhengi við Fibonacci hrúgur?
Hver er munurinn á Insert
aðgerðinni í Fibonacci hrúgu og öðrum hrúgum?
Hver er munurinn á Insert
aðgerðinni í Fibonacci hrúgu og öðrum hrúgum?
Hvaða af eftirfarandi fullyrðingum lýsir best decrease_key
aðgerðinni í Fibonacci hrúgu?
Hvaða af eftirfarandi fullyrðingum lýsir best decrease_key
aðgerðinni í Fibonacci hrúgu?
Hvað gerist ef hnútur í Fibonacci hrúgu missir tvö börn?
Hvað gerist ef hnútur í Fibonacci hrúgu missir tvö börn?
Hver er tímaflækjan fyrir rank(H)
í Fibonacci hrúgu með $n$ lykla?
Hver er tímaflækjan fyrir rank(H)
í Fibonacci hrúgu með $n$ lykla?
Hvaða fullyrðing er rétt um tímaflækjuna fyrir Allen gedir hate
(allar aðgerðir nema delete-min) í Fibonacci hrúgu?
Hvaða fullyrðing er rétt um tímaflækjuna fyrir Allen gedir hate
(allar aðgerðir nema delete-min) í Fibonacci hrúgu?
Hver er áætluð tímaflækja fyrir aðgerðina delut-min
(delete-min) í Fibonacci hrúgu?
Hver er áætluð tímaflækja fyrir aðgerðina delut-min
(delete-min) í Fibonacci hrúgu?
Hvernig er möguleikafallið (potential function) $\Phi(H) = trees(H) + 2 \cdot marks(H)$ notað til að greina tímaflækju Fibonacci hrúga?
Hvernig er möguleikafallið (potential function) $\Phi(H) = trees(H) + 2 \cdot marks(H)$ notað til að greina tímaflækju Fibonacci hrúga?
Hver er helsti munurinn á Fibonacci hrúgu og tvíhrúgu (binary heap) hvað varðar tímaflækju lykilaðgerða?
Hver er helsti munurinn á Fibonacci hrúgu og tvíhrúgu (binary heap) hvað varðar tímaflækju lykilaðgerða?
Hvaða hlutverki gegnir merking hnúta í Fibonacci hrúgum og hvernig hefur það áhrif á tímaflækjuna?
Hvaða hlutverki gegnir merking hnúta í Fibonacci hrúgum og hvernig hefur það áhrif á tímaflækjuna?
Í decrease_key
aðgerðinni, ef nýja gildið brýtur ekki hrúguröðun, hvað gerist?
Í decrease_key
aðgerðinni, ef nýja gildið brýtur ekki hrúguröðun, hvað gerist?
Segjum að þú sért að nota Fibonacci hrúgu til að útfæra Dijkstra reikniritið fyrir stysta leið í grafi. Hvernig hefur notkun Fibonacci hrúgu áhrif á heildar tímaflækju reikniritsins samanborið við notkun tvíhrúgu?
Segjum að þú sért að nota Fibonacci hrúgu til að útfæra Dijkstra reikniritið fyrir stysta leið í grafi. Hvernig hefur notkun Fibonacci hrúgu áhrif á heildar tímaflækju reikniritsins samanborið við notkun tvíhrúgu?
Flashcards
Hvað er potential method?
Hvað er potential method?
Mættisfall (Φ(H)) er alltaf stærri en eða jafnt og núll, og upphafsgildið Φ(Ø) er núll.
Hvað er uppsafnaður tími?
Hvað er uppsafnaður tími?
Rauntími aðgerðar leiðréttur með breytingu á mættisfallinu (Φ).
Hvernig er mættisfallið fundið?
Hvernig er mættisfallið fundið?
Finna fall sem sýnir ákjósanlega framkvæmd.
Hvað getum við notað fyrir bitatalningu?
Hvað getum við notað fyrir bitatalningu?
Signup and view all the flashcards
Fastayrðing Fibonacci hrúga
Fastayrðing Fibonacci hrúga
Signup and view all the flashcards
Hvað er Φ(H) í Fibonacci hrúgu?
Hvað er Φ(H) í Fibonacci hrúgu?
Signup and view all the flashcards
Hvað gerir Link(T1, T2)?
Hvað gerir Link(T1, T2)?
Signup and view all the flashcards
Hvað gerist í delete_min?
Hvað gerist í delete_min?
Signup and view all the flashcards
Hvað gerir Insert?
Hvað gerir Insert?
Signup and view all the flashcards
Hvað gerist í decrease_key?
Hvað gerist í decrease_key?
Signup and view all the flashcards
Hvað gildir um rank(H) í Fibonacci hrúgu?
Hvað gildir um rank(H) í Fibonacci hrúgu?
Signup and view all the flashcards
Study Notes
- The text is about analyzing algorithms, specifically heaps and amortized time complexity.
- Author: Páll Melsted, 2025
Accumulated Time Complexity
- Potential method uses a potential function Φ(H) which is greater than or equal to 0, and Φ(Ø) = 0.
- Real time for an operation is cᵢ, amortized time is aᵢ = cᵢ + Φ(Hᵢ₊₁) – Φ(Hᵢ) = cᵢ + ΔΦᵢ.
- Total cost for the first m operations is ∑cᵢ = ∑(aᵢ – (Φ(Hᵢ₊₁) – Φ(Hᵢ)) = (∑aᵢ) + Φ(H₀) – Φ(Hₘ).
Potential Funtion
-
The potential function is found by vimw/heppni/reynsla; translates to effort/lucky/experience
-
For bit counting, Φ(n) = number of ones in n.
-
An array of size m with n elements is doubled in size if space runs out, keeping it 25% full.
-
Value of Φ(0) = 0
-
aᵢ = cᵢ + ΔΦ = (t+1) + (-t+1) = 2
-
∑cᵢ ≤ ∑aᵢ = 2 * n
-
For an array places in n items, n items takes up 25%
-
cᵢ = 1 if n < m, cᵢ = m if n = m, then doubles the array, and moves items over
-
Φ(H) = 3n – m ≥ 0, as well as Φ(Ø) = 0
-
aᵢ = cᵢ + ΔΦ = 1 + (3(n+1) – m) – (3n – m) = 4 if n<m and m + (3(n+1) – 2m) – (3n – m) = 3 if n=m
-
Total cost for first operations is ∑cᵢ ≤ ∑aᵢ ≤ 4 * n
Fibonacci Heaps
-
H is a doubly linked list of trees.
-
Each tree satisfies the heap order property.
-
"min" points to the tree with the smallest root.
-
Some nodes are marked.
-
rank(x) = number of children of x, degree.
-
rank(H) = largest degree of any node.
-
marks(H) = number of marked nodes.
-
trees(H) = number of trees.
-
Φ(H) = trees(H) + 2 * marks(H)
-
Link(T1, T2) joins two trees together.
-
aᵢ = cᵢ + ΔΦ = cᵢ - 1 ≤ 1
-
delete_min removes the root of the minimum tree, adds the children to the doubly linked list, and searches for the new minimum.
-
When searching for a new minimum, trees are linked with each other to ensure all trees have different ranks.
-
cᵢ = #börnmin + #trjágjörð ≤ rank(H) + trees(H)
-
aᵢ = cᵢ + Φ ≤ rank(H) + trees(H) + ΔΦ
-
Can be estimated as ≤ 2 * rank(H) + 1
-
When inserting a new node into the Fibonacci heap, it is added to the list of trees, and the minimum is updated, if necessary
-
cᵢ = 1, ΔΦ = 1
-
The decrease_key operation
- If the new key value does not break the heap order, decrease the key.
- Otherwise, cut the node and insert it into the list of trees
- Nodes that are marked have lost one child. If the node loses another child, it is added to the list and the mark is removed.
-
cᵢ = 1 + # marked nodes being removed. can be estimated to less than 1 + marks(H)
-
ΔΦ = 1 + mᵢ – 2mᵢ = 1 – mᵢ. where m is new trees
-
For Fibonacci heaps with n keys rank(H) = O(log(n))
-
Amortized Cost
- All other operations have O(1)
- Delete-min has = O(log(n))
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.