Algorithms, Part I

前言

目前我已暂停学习深度学习课程,虽然之前的学习过程很愉快,但我现在想要挑战一下自己。机器学习在很多大学都被分在计算机科学底下,而我又了解到要学习compute science几乎不可能绕过数据结构和算法这一部分内容,这一部分的知识也决定着一个高级程序员的功底。
为了补充自己在数据结构和算法这一部分的知识,我决定修一门相关的课程,选来选去最终决定学习普林斯顿教授在Cousera开设的一门算法课。这门课程是基于Java语言讲解的,所有的编程作业都需要用Java完成,由于我之前从未了解过Java这门语言,是真正的零基础。为了应对这门课程,我又在实验楼快速补充了Java编程的基础知识。我觉得自己会Perl、Python和R语言,熟悉编程思想,想要学会Java应该不是一件遥不可及的事情。

该课程第一周的内容为如何快速合并并查找目标的类别。

怎样在迷宫图中,判断两点之间是否相连?
这里写图片描述

可以采用Quick-find的方法:
这里写图片描述

然而这个方法太慢了,作者又提出了一种树形结构的Quick-union的方法
这里写图片描述

然而上述两种方法正像它们的名字一样,Quick-find在union的时候很慢,Quick-union在find的时候很慢。

weighted quick-union 是quick-union的升级版。
这里写图片描述
这里写图片描述

三种方法运行时间的比较:
这里写图片描述

Quick union with path compression是另一种速度比较快的方法。
这里写图片描述

总结比较

这里写图片描述

(第一次写这门课程的笔记,有点无从下手的感觉,难道是我理解得不够——反正第一次编程作业折腾了我好长时间)
注:如无特殊说明,以上所有图片均截选自Coursera平台algorithms课程的讲义。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值