课程主要教程:算法第四版
网络资料:https://algs4.cs.princeton.edu/home/
第一天:
两个经典算法:快速查找和快速合并
快速查找:

可以由代码实现看出我们查看两个数是否连通,只需要判断数组的值是否相等,所需要的时间很少
但要是合并数组则需要高昂的代价,如果有N个对象就要进行N个对象进行合并,很繁琐。
快速合并:

快速合并算法主要采用树的结构,针对对象的合并,只需要改变对象的父节点指向,合并操作比快速查找算法快,
但在查找是否连通上的效率则比较低下,当树的一条支线过于冗长,则查找连通的时间则会变得漫长,所以我们为了增加查找效率则使用加权的树结构
加权快速合并:
为避免子节点过于臃肿,当两个树结构合并,比较两个树的权重,大的在上面小的树则连接大树作为大树的支节点。
最大深度为:lgN

各个算法的复杂度:

加权数能成比例的适应大规模问题
路径压缩:

增长数量级的分类:

浙公网安备 33010602011771号