Algorithms, Part I

算法(一)

关注 (7938) 学过 (142) 晒证书

9.4 (38人)

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

难度:一般

开始时间:2017-08-07

持续时间: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

所属专题

相关课程

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

关于我们 新手指南