Prob_Solve 板


LINE

因為對smooth sort所用到的資料結構有點興趣,所以就拿來練習分析了, 有錯歡迎鞭。 首先定義 L-tree 與 Leonardo Heap L-tree 是一個二元樹並滿足以下性質: 1. order為 0 跟 1 的 L-tree 皆為一個節點 2. order為 m 的 L-tree 的左子樹為 order m-1 的 L-tree, 右子樹為 order m-2 的 L-tree 3. 若 order為 m 的 L-tree 用陣列表示,則其結構為 [ left subtree | right subtree | root ] Leonardo Heap 是一組 L-trees 的集合並滿足以下性質: 1. 所有的 L-tree 皆滿足 minimum-heap property 2. 不存在重覆 order 的 L-tree 3. 只能最小兩個 order 的 L-tree 差是 1 4. 最小 order 的 L-tree 的 root 是 Leonardo Heap 的最小值 再來說明一下 Leonardo Heap 的操作 假設插入一個新元素 x ,則可以分兩種情況: 1. 若最小 order 的 L-tree Ta 與次小 order 的 L-tree Tb 的 order 差 1 把 Ta 、 Tb 、 x 合成新的 L-tree Tc 進 Leonardo Heap , Tc 需滿足 minimum-heap property 2. 否則把 x 設為 size 1 的 L-tree 加進 Leonardo Heap 假設加入前的最小 order 的 L-tree 為 Ta 若 Ta 的 root < x , 則交換兩個 L-tree 的 root 並調整 Ta 使其 滿足 minimum-heap property,反之不交換。 由此可知插入的時間複雜度為 O(log n) 關於 Leonardo Heap 的刪除最小值: 假設最小 order 的 L-tree 為 Ta 1.a 若 Ta 的 size 為 1,則把 Ta 從 Leonardo Heap 移除 1.b 反之把 Ta 的 root 移除,使其分解成兩個 L-tree 加入 Leonardo Heap 中 2. 假設在新的 Leonardo Heap 中,最小 order 的 L-tree 為 Ta', 有最小root的 L-tree 為 Tb'。不失一般性,讓 Ta' 不等於 Tb'。 則我們交換 Ta' 與 Tb' 的 root,並調整 Tb'使其滿足 minimum-heap property 因此刪除最小值的時間複雜度為 O(log n) Amortized analysis For given a Leonardo Heap H{i} = { L{k, i} | L{k, i} is the L-tree with the k-th smallest order in i-th operation } in i-th operation Let n{i} be the number of H{i} h(L{k, i}) be height of L{k, i} s(H{i}) be the number of L-tree in H{i} Define a potential function phi(D{i}) for data structure state D{i} 1. phi(D{0}) = 0 2. phi(D{i}) = 0 if n{i} = 0 3. phi(D{i}) = sum { h(L{k, i}) } + h(L{1, i}) if n{i} > 0 The insertion analysis : case 1 : Let h(L{1, i - 1}) = t, h(L{2, i - 1}) = t + 1 ci = h(L{1, i - 1}) + 1 = t + 1 phi(D{i}) - phi(D{i - 1}) = ((t + 2) + (t + 2)) - ((t + 1) + t + t) = 3 - t ci' = ci + (phi(D{i}) - phi(D{i - 1})) = (t + 1) + (3 - t) = 4 case 2 : Let h(L{1, i - 1}) = t ci = h(L{1, i - 1}) + 1 = t + 1 phi(D{i}) - phi(D{i - 1}) = (t + 1 + 1) - (t + t) = 2 - t ci' = ci + (phi(D{i}) - phi(D{i - 1})) = (t + 1) + (2 - t) = 3 Hence, the insertion operation take O(1) amortized time. The deletion analysis : Let h(L{1, i - 1}) = t, h(L{2, i - 1}) = m Assume W.L.O.G that second smallest element is the root of L{x, i - 1} where x != 1 ci = h(L{x, i - 1}) + s(H{i}) + 1 Trivially, h(L{x, i - 1}) <= m1 * log(n{i}) s(H{i}) <= m2 * log(n{i}) for some constant m1, m2 So we know ci <= (m1 + m2 + 1) * log(n{i}) if t = 1, then phi(D{i}) - phi(D{i - 1}) = (m + m) - (m + 1 + 1) = m - 2 <= c1 * log(n{i}) for some constant c1 otherwise, phi(D{i}) - phi(D{i - 1}) = ((t - 1) + (t - 2) + (t - 2)) - (t + t) = t - 5 <= c2 * log(n{i}) for some constant c2 ci' = ci + phi(D{i}) - phi(D{i - 1}) <= (m1 + m2 + 1 + max{c1, c2}) * log(n{i}) Therefore, the deletion operation take O(log(n)) amortized time. 結論 Leonardo Heap 的插入 amortized time complexity 是 O(1),然後刪除 amortized time complexity 是 Θ(log n) 參考資料 https://en.wikipedia.org/wiki/Smoothsort -- d(・ω・d) 微分! (∫・ω・)∫ 積分! ∂(・ω・∂) 偏微分! (∮・ω・)∮ 沿閉曲線的積分! (∬・ω・)∬ 重積分! ▽(・ω・▽)梯度! ▽・(・ω・▽・)散度! ▽×(・ω・▽×)旋度! Δ(・ω・Δ)拉普拉斯! --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.235.150.165
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Prob_Solve/M.1557850377.A.9AE.html
1F:推 FRAXIS: 刪除的 amortized time complexity 直接被 worst case 05/15 10:55
2F:→ FRAXIS: imply 應該不用證明吧? 05/15 10:55
3F:→ FRAXIS: 而且 amortized time complexity 應該有 log n 的下限 05/15 10:56
4F:→ firejox: 因為我想把各種情況都考慮進去,所以連刪除的也列了 05/15 15:36
5F:→ firejox: 另外你說的log n的下限有點不太懂 05/15 15:37
6F:推 FRAXIS: 插入已經是 amortized O(1) 了 05/16 10:42
7F:→ FRAXIS: 刪除 amortized 一定是 Ω(lg n) 05/16 10:43
8F:→ FRAXIS: 不然就可以設計 o(n lg n) 的 comparison-based 排序法了 05/16 10:44
9F:→ FRAXIS: 所以刪除的 amortized 是 Θ(lg n) 05/16 10:45
10F:→ firejox: 了解 05/16 17:47
※ 編輯: firejox (36.235.148.14), 05/21/2019 21:19:58







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP