- 博客(11)
- 资源 (3)
- 收藏
- 关注
原创 Greedy Algorithm (1)——算法设计搬运
Greedy Algorithm (1)Chapter 4前言4.1 Interval SchedulingChapter 4前言终于进入算法部分了…本来计划是照着 Victor 570 的内容来二次消化的,但是搬着搬着它就不香了——因为他跳过了太多非常有意思的内容。不看不知道,算法设计800多页的内容,Victor 自己删删减减硬憋出的教材来…就一言难尽…所以既然打算好好消化,那就正好啃一啃《Algorithm Design》这本书吧。如果内容在 570 里也讲了,那么还是会引用到 570 课上
2020-06-30 15:59:04
794
原创 斐波那契堆python实现——Fibonacci Heaps
Fibonacci Heaps——python实现前言functionsdecreaseKey(v, k)delete(v)结语前言Fibonacci Heaps的所有内容都在这里 Fibonacci Heaps 可以找到。简单的概括,斐波那契堆其实是 lazy binomial heaps 的扩展,支持更高效的 decreaseKey(v,k) 和 delete(v). 那么在 lazy binomial heaps实现 的基础上稍作改动和扩展即可。完整代码和测试代码已上传资源…function
2020-06-23 05:14:21
548
原创 Lazy binomial heap——python实现
Lazy binomial heap——python实现前言functionslazy mergeinsertextractMincoalesce_stepupdateMin关于decreaseKey的问题前言完整的资源文件和测试代码已经上传。关于eager binomial heaps的内容详见这篇博客Lazy Binomial Heaps. 双向循环链表实现的堆,api: lazy_merge, insert, extractMin, find_min, coalesce_step, update
2020-06-22 15:28:02
401
原创 二项堆python实现——eager binomial heap
二项堆python实现——eager binomial heap关于eager binomial heaps的内容详见算法设计搬运(3)——Heaps,更多细节在后面的Lazy Binomial Heaps也有。比较懒用的双向链表写的。双向链表可以实现 O(logn)O(\log n)O(logn)的 decreaseKey 和 deleteMin,可以参考石溪的ppt,尽管它是用array来存heap指针。有的ppt就错得离谱,单向链表decreaseKey就不只是在树的一个路径上比较了,没法O(1)
2020-06-21 06:52:18
275
原创 Fibonacci Heaps
Fibonacci HeapsmotivationFibonacci HeapsextractMin 变慢了?Solution数理证明Maximally-Damaged TreesAmortized analysisdecreaseKeyextractMindeletewhere are we nowrepresentation problem小节motivationA Fibonacci heap can be viewed as an extension of Binomial heaps whi
2020-06-17 15:52:52
689
原创 Lazy Binomial Heaps
Lazy Binomial HeapsmotivationMeldable Priority Queue更多细节——Recap from last timelazy binomial heapwhere we standcoalesce stepThe story so far后记motivation为什么我们需要Binomial heaps(二项堆)? Binary heaps(二叉堆) 实现的优先队列就已经有了 O(logn) 复杂度的 enqueue(insert) 和 extractMin(de
2020-06-14 21:49:55
972
原创 Potential method——[amortized analysis内容补充]
Potential Method —— amortized analysis公式举例分析eager binomial heap 的 inserteager binomial heap 的 deleteMin之前搬运有关 amortized analysis 内容时,分析方法介绍了 aggregate method 和 accounting method。有时 accounting method 也作 banker method (回想起 OS 里面也有对应的 银行家算法)。这次补充介绍 potential
2020-06-12 23:56:33
507
原创 算法设计搬运(3)——Heaps
Binay, Binomial and Fibonacci Heaps前言3. Heaps3.1 Binary Heap3.2 Binomial Heaps3.3 Fibonacci Heaps小节前言570 Lecture 3 的内容。 Lecture 3 的前半段相当于 review,所讲 binary heap 内容基本被都数据结构覆盖,基础的可能会简略一点。后半段讨论了 Binomial Heap 和 Fibonacci Heap。3. Heaps3.1 Binary Heap二叉堆(最小
2020-06-11 09:30:15
583
原创 算法设计搬运(2)——Amortized Analysis
算法设计搬运(2)——Amortized Analysis前言2. Amortized Analysis2.1 Unbounded Array2.2 Binary Counter2.3 Amortized Dictionary2.4 Amortized Tree前言本篇是关于复杂度分析,amortized analysis —— 570课程 lecture 2的内容。因为我并没有在算法设计这本书上找到相关内容,所以基本全是课程知识的搬运和消化。2. Amortized AnalysisAmortiz
2020-05-27 16:49:54
966
原创 算法设计搬运(1)——basics
算法设计搬运(1)——basics前言1. Basics1.1 Runtime Complexity1.2 lower bound for sorting1.3 Trees & Graphs1.3.1 图的遍历1.3.2 Topological Sort1.3.3 Planar Graphs1.3.4 Coloring planar graph前言算法的重要性不言而喻,也是因为个人刚刚修完算法课,所以利用这个假期看看笔记再整理一下所学内容。这篇文章及后续(如果有)主要是围绕南加 csci-57
2020-05-25 14:54:17
379
斐波那契堆python实现
2020-06-23
lazy_binomial_heap的python实现——lazy 二项堆——优先队列。
2020-06-22
二项堆python实现——eager binomial heap
2020-06-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人