算法
文章平均质量分 90
mit6.006
解析Ta
这个作者很懒,什么都没留下…
展开
-
Mit6.006-lecture09-Breadth-First-Search
图GVEG=(V,E)GVE是一组点V和一组顶点的对E⊆V×VE⊆V×V有向边是有序对,比如,uvuv∈Vuvuv∈V无向边是无序对,比如,uvuv∈Vuvuv∈Vuv和vu(u,v)和(v,u)uv和vu在这个类中,我们假设所有图是简单的:边是去重的,比如(u,v)仅在E(尽管(v,u)可能出现)中出现一次,并且u≠vuv∈Euvuv∈E∣E∣O∣V∣2∣。原创 2023-05-24 09:17:44 · 14372 阅读 · 0 评论 -
Mit6.006学习记录
算法入门。原创 2022-06-29 09:57:35 · 113733 阅读 · 1 评论 -
Mit6.006-lecture01-Introduction notes
算法,可被推理、证明为是正确的。算法时间复杂度:n、logn、n2、2n、nlogn(logn)k=O(n),O 表示lim logn/n,n->正无穷时,值为0(n i)表示n个数中取i个数,公有多少种组合E(x)表示数学期望值|A-B|表示,集合A中有,集合B中无的元素个数..............................原创 2022-06-29 09:56:14 · 113876 阅读 · 0 评论 -
Mit6.006-lecture02-Data Structures
数据结构是存储数据的一种方式,算法支持数据操作支持的操作集合称为接口(或)接口是声明:支持哪些操作(问题)数据结构是表示():操作如何被支持(解法)本课中,两个主要接口:序列()和集合()原创 2022-10-20 14:41:00 · 73064 阅读 · 0 评论 -
Mit6.006-lecture03-Sorting
以任意顺序把项目存到数组中,可以实现一个集合(不是特别有效)按key升序存储项目允许:更快找到最大/最小值(数组开头、结尾)O(logn)但如何构建有效地构建有序数组?原创 2022-10-26 11:24:19 · 73308 阅读 · 1 评论 -
Mit6.006-lecture04-Hashing
想要更快的查找以及动态操作。我们能让find(k)比θ(logn)更快?原创 2022-11-09 10:15:47 · 67859 阅读 · 0 评论 -
Mit6.006-lecture05-Linear-Sorting
比较查找下边界:任何有n个节点的比较树,高度≥⌈lg(n+1)⌉−1线性分支因子的操作,使用随机访问更快直接访问数组是快的,但可能使用大量空间(Θ(u))通过映射(hashing)key的空间从u降到m=Θ(n),解决了空间问题哈希表给出了期望O(1)时间的操作,如果是动态操作则为分摊时间期望输入独立:选择从全域哈希族中随机选取哈希函数数据结构概览最终我们实现了更快地查找。我们也能实现更快的排序?原创 2022-11-29 06:50:49 · 65154 阅读 · 0 评论 -
Mit6.006-lecture06-BinaryTrees1
定义节点(位于根节点为的树中)的depth(),为到路径的长度。定义节点的height(),是以为根的子树中,任意节点的最大depth。举例:遍历顺序:(、、、、、)举例:后驱,对应,对应,C对应None。否则,让成为后继节点(不能有左子节点)的左子节点。否则,有右子树,与的后继节点交换项目并递归。如果没有右子节点,让成为的右子节点。原创 2023-01-29 19:35:46 · 55087 阅读 · 0 评论 -
Mit6.006-lecture07-BinaryTrees2AVL
需要降低树的高度,而不改变遍历顺序,因此我们表示相同序列的项目。case3:的倾斜是-1,因此的左子节点存在。case1:的倾斜是0、或case2:的倾斜是1。插入增加的高度,因此是不平衡的case2或case3。删除使子节点的高度降低1,并非,因此仅不平衡。如果左、右子树高度最多相差1,那么节点是高度平衡的。如果它的偏斜为-1、0、1,那么节点是高度平衡的。因为B的倾斜是2,所以的右子树存在。(之后,的高度将等于或小于之前的高度)原创 2023-04-06 09:23:05 · 27103 阅读 · 0 评论 -
Mit6.006-lecture08-BinaryHeaps
记录一些项目,快速地访问/移除最重要的例:有限带宽的路由器,必须优先某些信息例:操作系统内核中的进程调度例:离散事件模拟(下一件事何时发生)例:图算法(接下来的课程中)通过key有序的项目=优先,因此是集合接口(不是序列接口)对集合特定操作子集进行了优化:build(X),由可迭代的X构建优先队列insert(x),添加项目x到数据结构delete_max(),移除并返回拥有最大key的存储项目find_max(),返回拥有最大key的存储项目通常对最大或最小做出优化,而非全部。原创 2023-05-23 13:03:02 · 14784 阅读 · 0 评论 -
Mit6.006-problemSession01
对于下面5个函数集合中每一个,对它们进行排序。如果在序列中,fa出现在fb之前,那么fa=O(fb)。如果fa=O(fb)且fb=O(fa),意味着fa和fb可以任何顺序出现,可以用花括号把fa和fb围起来表明这种情况。f1=n,f2=n,f3=n+n(f2,{f1,f3})或(f2,{原创 2022-10-20 13:59:36 · 73088 阅读 · 0 评论 -
Mit6.006-problemSession02
以两种方式推断下列递归的答案:通过递归树、主定理。答案应该包含最贴切的上下边界(递归允许)。假设T1∈θ1(a)Tn2T2nOnTnΘn(b)Tn8T4nOnnTnΘn23logn(c)TnT3nT4nΘn,假设对于所有abTaTbTnΘn。原创 2022-11-17 19:56:46 · 66124 阅读 · 0 评论 -
Mit6.006-problemSession03
使用哈希函数h(k)=(11k+4)mod9,插入整数keys A=[67, 13, 49, 24, 40, 33, 58]到尺寸为9的哈希表。冲突应该通过链来解决,冲突被存储在链的尾部。画一个所有key被插入完后的哈希表图。原创 2022-12-22 14:33:12 · 62023 阅读 · 0 评论 -
Mit6.006-problemSession04
下面是一个序列AVL树T。执行操作T.delete_at(8),该操作期间,每次旋转操作执行完后,画出该树。原创 2023-05-22 20:06:23 · 14673 阅读 · 0 评论 -
Mit6.006-problemSet00
Aii5i∈Z且0≤i≤4B3i∣i∈1245}}化简可得。原创 2022-10-24 10:05:03 · 72859 阅读 · 1 评论 -
Mit6.006-problemSet01
每个包含5个函数的集合,对它们进行排序,若序列中fa出现在fb之前,那么fa=O(fb)。如果fa=O(fb),且fb=O(fa)fa和fb可以出现在任意顺序,表明可以用花括号将fa和fb围到一个集合中。f1=n,f2=n,f3=n+n(f2,{f1,f3})或(f2,{f3。原创 2022-11-21 19:49:16 · 65569 阅读 · 0 评论 -
Mit6.006-problemSet02
得出下面递归的解。解应该包含递归允许的最严格的上界和下界。假设T1Θ1用两种方式解决part (a)、(b)、©,画一个递归树和应用主定理。用替代法解决part (d)(a)Tn4T2nOn递归树深度 i 有4i个顶点,每个最多c2in次运算,因此深度 i 处最多4ic2in次运算。原创 2023-01-18 18:26:32 · 55627 阅读 · 0 评论 -
Mit6.006-problemSet03
按顺序插入整数keys A=[47, 61, 36, 52, 56, 33, 92]到尺寸为7的哈希表中,使用哈希函数hk10k4mod7。哈希表的每个插槽,存储一个key(哈希到该插槽)的链表,后插入的追加到链表最后。所有key插入完成后,画一个哈希表的图。原创 2023-05-22 16:55:58 · 14925 阅读 · 0 评论