普林斯顿大学算法第一周个人总结1

来自普林斯顿大学 的 Coursera 课程《算法,第一部分》 ,课程地址:https://www.coursera.org/course/algs4partI



第一周的内容是 Union-Find算法和算法分析两个部分,这一篇只总结Union-Find。


问题描述:

有N个元素,从 0 ~ N-1 编号,假设用通路表示元素之间的连接,当执行多次任意两个元素的连接之后,如何判断某两个元素是否能够通过已有路径相连通。连接的动作我们称之为 union,判断两元素是否相连的操作称之为 find,类比下图:


从图上可以看出,0, 1, 2, 5, 6, 7 中任意两个元素都是相连的,同样 3, 4, 8, 9 中任意两个元素也是互连的,但是第一个集合和第二个集合的元素却是无法连通的。


实际操作中可用于在一个庞大的网路环境下,如何迅速判断某两个点是否相连,如下图:



开发有效算法的步骤:

1) 构建模型
2) 寻找算法
3) 方法的效率和内存使用
4) 效率差,内存使用率高,找出问题的原因所在
5) 寻找解决方法重复3


首先确认 union 和 find 操作应该满足什么样的条件:

find操作:确认两个对象是否连接&#

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
西电算法考试题库(普林斯顿)是一份非常经典的算法考试题库,主要针对计算机科学与技术专业的学生和程序员。这份题库是由普林斯顿大学的计算机科学系编写的,是一份非常丰富和全面的题库。 这个题库的特点是包含了大量的算法和数据结构相关的问题,从最基本的算法思想和原理,到实际的应用和具体问题的解决方案,都有涉及。这个题库中的问题一般都是很有挑战性的,需要具备扎实的算法和数据结构的基础知识,并且具备一定的编程实践经验。 这份题库中的问题种类繁多,包括但不限于字符串、数组、链表、树、图等各种数据结构的相关问题,以及排序、查找、动态规划等各种算法的问题。这些问题一般包含了问题的描述、输入输出要求以及具体的解题思路。通过学习和解答这些问题,可以提高算法和数据结构的理解和应用能力,培养解决实际问题的能力。 对于想要提升算法和数据结构能力的学生和程序员来说,西电算法考试题库(普林斯顿)是一个非常好的学习资源。不仅可以巩固和提高自己的算法基础,还能够培养自己解决实际问题的能力。同时,通过解答这些问题,还可以提高自己的编程能力和解决问题的思维方式。总之,这份题库是一个非常好的学习资料,对于算法和数据结构的学习和应用都有很大的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值