Algorithms, Part I

算法(一)

关注 (7657) 学过 (139) 写点评 (37) 晒证书

9.4 (37人)

  • 知识量:9.9
  • 教师参与:9.7
  • 趣味性:9.6
  • 课程设计:9.9

难度:一般

开始时间:2016-01-22

持续时间:6.0周/每周6.0-10.0小时

去上课

你可能感兴趣换一换

本课程主要覆盖程序猿日查所用到的算法和数据结构,尤其是Java编写的应用和科学计算分析程序。Part I 主要是简单的可迭代的数据结构、排序算法,还有查找算法。


课程简介
本课是一门讲述基础数据类型、数据结构,特别是一些应用、科学计算的实现,包括:并查算法,迭代用数据类型(栈,队列和背包),排序算法(快排、归并、堆排)及相关应用,优先队列,二分查找树,红黑树,哈希表及其相关应用。


先修知识
你只要拥有基本的Java编程能即可。这门课主要面对1、2年级的理工科学生和有相关兴趣的人员。


推荐读物
这课程里的每节课都是相对独立的,如果您有兴趣学习更多本课程相关的知识,你可以阅读我们的书《Algorithms》( 第四版)。http://www.tqlkg.com/click-7115529-10692263?sid=algs4partI&URL=http://www.chegg.com/textbooks/9780321573513


课程相关
本课程每周有2次课,每次75分钟。每次课都会分成4到6小节,里面会有有趣的问题来帮助你更好地理解。 另外,每周还会有额外的问题集、作业,和最终考试。


常见问题解答
1. 课程会覆盖什么数据结构和算法?
算法(一)主要集中在基础的数据结构、排序、查找算法。 相关主题有:并查集算法,二分查找,栈,队列,背包,插入排序,选择排序,希尔排序,快速排序, 三切分快排,归并排序,堆排序,二分堆,二分查找树,红黑树,链表,线性哈希表,Graham扫描,kd树。
算法(二)主要讲解图论和字符串处理的相关算法。相关主题有:深度优先搜索,宽度优先搜索,拓扑排序,Kosaraju-Sharir算法,Kruskal算法,Prim算法,Dijkistra算法,Bellman-Ford算法, Ford-Fulkerson算法, LSD radix sort算法, MSD radix sort算法, 3-way radix 快排算法, 多路尝试法, 三元查找尝试法, Knuth-Morris-Pratt算法, Boyer-Moore算法, Rabin-Karp算法, 正则匹配, run-length编码, Huffman编码, LZW压缩, 还有Burrows-Wheeler变换。


2. 有相关的网络资料吗?
有。我们的网站上会有相关讲义、习题、所有算法的Java实现、测试数据,等等。http://algs4.cs.princeton.edu/


3. 这门课和《算法设计与分析》有什么区别呢?
这两门课互补的。一门是讲如何编写,而另一门是关于它的数学证明方面的。这门课主要是用来学习在实际中如何实现和测试这些算法。而另外一门课是关于怎么对这些算法进行数学建模并且分析它们的运行效率。在传统的计算机课程体系中,本课程是安排给1,2年级的学生,而另一份是给3,4年级的学生。


4. 我不是学计算机的,这门课适合我吗?
适合。这门课适合所有用电脑处理大数据问题的人(这就是为什么我们需要高效的算法)。在Princeton,有25%的学生学习这门课,覆盖了工程科学、生物科学、物理、化学、经济等学科的学生。因此不是主修计算机有没所谓。


5. 我之前没学习过编程,我适合学这门课吗?
很可能不。


6. Princeton会因为我在这门课上的表现给予任何证明、奖状或者报告吗?
不会。


翻译:@RaistlinChan

课程点评 写点评

综合评分:9.4难度:一般

  • 知识量:9.9
  • 教师参与:9.7
  • 趣味性:9.6
  • 课程设计:9.9
  • 老师牛 12
  • 干货 11
  • 讲解清楚 11
  • 作业难 8
  • 入门级 6
  • 作业少 2
  • 偏理论 2

精彩点评

最新点评

  • YeChieh
    YeChieh 已完成

    最好的算法课程。内容超出预料,老师讲解很细致,用词很基本,原声听下来无压力,就是作业感觉较难,但又不是难到完全让你写不出;数学分析讲解比国内一些mooc好

    2017-05-21 16:53 0
  • 沥沥夏雪
    沥沥夏雪 已完成

    里面的动画实在是太好了,比自己看书效率要高很多很多。缺点是老师讲课方式有点缺少激情,看久了,有点容易引瞌睡。

    2017-05-16 20:12 0
  • 聪明小新
    聪明小新 已完成

    内容讲解非常清晰,延伸很多,因此信息量很大。作为学习算法的入门课程是可以的,但是作业难度有点大,需要花不少时间理解和调试。加入这个课程一定要有非常大的决心。 基本上上课的几周每个周末都会整天去调试程序。跟着这个课程把java也学习了一下。想要撬开算法大门的同学非常推荐这门课。课程附带的书籍 “算法”比算法导论更清晰,更实用,更加适合入门看。 完成课程非常有成就感,可以顺利的用java刷算法题目了,也知道基本的数据结构了。慢着,还有Algorithm II 的课程呢! 路漫漫,让我们可以走的更远。

  • qhy15
    qhy15 已完成

    算法入门课程,老师讲的很容易理解;作业对于有Java相关基础的来说,拿80-90分很简单,拿100分略有难度,因为有的时候思维局限;英语不好的话,理解题意很艰难。

    2017-02-03 09:36 0
  • 一路绝尘
    一路绝尘 已完成

    非常值得学习,但是好像这门课随着cousera改版要关闭了。这门课包含两部分,一部分是实验,一部分是贴合课本的知识。实验非常有意思,这是自己看书没有的体验

    2016-06-20 10:57 0
  • specialhappy
    specialhappy 已完成

    算法应该属于基础课,上一下非常有帮助。这门课是去年时上的,每周画在作业上的时间特别多,因为有编程。作业检查系统非常赞,选择填空会给你解释,编程则会跑很多case,然后告诉你在什么地方没有通过,没有见过更好的系统了。老师讲得很有条理,是一点点引导你的,ppt做得很精细,也很清楚值得反复看。论坛里的讨论挺多的,去看看也很有帮助。这是一门十足的好课!

    2016-06-15 08:55 0
  • cak1
    cak1 已完成

    首先robert sedgewick本身就是一位业界大牛,红黑树的发明人和改良者, 其次这门课作业的量也很大,填空选择题有10次尝试机会但是每次题目都是随机生成的,想蒙的话很难拿到满分,可以说是为了让学生深刻的记住各个算法而煞费苦心啊, 再者就是programming assignment很有意思也很实用,外加极其赞的grader,很多test case让我收益颇丰, TA们也几乎是在论坛上秒回问题,外加各位积极参与讨论的大神~之前真没想到过一门不发证书和完成声明的MOOC会做到这么高的质量而且有这么多人选,现在可是见识到了, 而且教授也很可爱啊~有个colinear points的作业要把所有共点线连起来,有两张图连起来分别是kevin wayne和robert sedgewick, 真是萌翻我了~

  • th
    th 已完成

    编程作业非常有趣,评分系统也显得颇为专业,而且还会有满分之上的 bonus, 非常能激发挑战欲。不过作业的思路比较容易从网上搜索到,或者多等几天课程论坛里就会讨论出解决方法,我自己想不出来就会忍不住去参考……

    2016-03-15 14:41 0

课程笔记

写笔记
查看全部笔记 >

所属专题

相关课程

京ICP证100430号    京网文[2015] 0609-239号    新出发京零字东150005号     京公网安备11010502007133号 ©2017果壳网

关于我们 新手指南