随笔分类 - 6.006
算法导论
摘要:Open addressing 开放寻址法 前面学习了一种最简单的冲突解决方法:链接法,现介绍另一种冲突解决方法:开放寻址法 开放寻址法关键在于计算探查序列(probe sequence) 对于每一个要插入的关键字k,显然需要连续地检查散列表以找到一个空槽,这个过程称为探查(probe) 一个探查序
阅读全文
摘要:AVL Trees Def. 新结点的插入可能会破坏平衡: Rotation left-heavy & right-heavy 将结点的平衡因子定义为:左子树高 - 右子树高 left-heavy说明平衡因子为1,right-heavy说明平衡因子为-1 下面讨论如何对 最小不平衡子树 进行调整 :
阅读全文
摘要:What is a heap? 首先介绍优先队列: Heap(堆)是对优先队列的一种实现 每个元素都有对应的key值,且对于大顶堆(Max Heap)而言,其每个元素的key值都 ≥ 子元素的key值 堆可以可视化为一棵完全二叉树: 堆对应的树具有如下性质:(这里层数从0开始) 别忘了之前讲过的完全
阅读全文
摘要:Insertion sort Attempt#1 每次将元素A[j]插入它之前的有序序列A[1 .. j-1]中,插入方式是与前一个相邻元素两两比较并交换直到到达正确位置 Complexity 显然复杂度主要来自于 compare 和 swap : 平均情况下,比较和交换均需要 Θ(n2),虽然可以
阅读全文
摘要:PeakFinding Introduce Efficiency 当要面临的数据集十分庞大时,关注算法效率是非常有必要的 Scalability 可伸缩性是指算法能够在尽可能多的不同输入数据下正确运行,应该也可以理解为健壮性 Classic Data Structures 在6.006中我们将学习一
阅读全文

浙公网安备 33010602011771号