Algorithms, Part I
来源:互联网 发布:碑文 软件 编辑:程序博客网 时间:2024/05/21 17:52
前言
目前我已暂停学习深度学习课程,虽然之前的学习过程很愉快,但我现在想要挑战一下自己。机器学习在很多大学都被分在计算机科学底下,而我又了解到要学习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课程的讲义。
- Algorithms, Part I
- Algorithms, Part I
- 【算法】Algorithms Part I week2
- Algorithms, Part I WEEK1 Percolation
- Coursera.Algorithms.Part.I.Week.1.Percolation
- Princeton Algorithms: Part 1 [Final Exam Part I]
- 【Java、算法】Princeton Algorithms Part I Week 1 Exercise
- 【Coursera】Algorithms, Part I 算法C++实现: Quick Union
- 【Coursera】Algorithms, Part I 算法C++实现:Weighted Quick Union
- 【Coursera】Algorithms, Part I 算法C++实现:BinarySearch
- 【Coursera】Algorithms, Part I 算法C++实现:Stacks Linked-list
- 【Coursera】Algorithms, Part I 算法C++实现:Weighted Quick Union+path compression
- Part I
- Starting with Algorithms(Part 1)
- Princeton Algorithms: Part 1 [week 1:Analysis of Algorithms]
- Lecture 20 Parallel Algorithms I
- Cousera:Algorithms: Design and Analysis, Part 1
- Princeton Algorithms: Part 1 [week 3:Mergesort]
- Recursion
- 已知邻接矩阵,求不重复且经过各景点仅一次而回到起点的路径
- javascript(23行) 实现贪吃蛇
- 怎样成为一名专业的程序员
- [BZOJ1031]-[JSOI2007]字符加密Cipher-后缀数组模板(附自己的理解)
- Algorithms, Part I
- JavaScript 部分知识点
- hoj 3276 快排之点的排序
- 快速排序
- 正则表达式文档
- 笑哭!外国人在地铁上看书原因竟是...
- 微信重磅更新:发出的消息允许编辑!
- Springboot极简教程
- Linux下的文件系统