算法基础

本课程内容程涵盖枚举、二分、贪心、递归、深度优先搜索、广度优先搜索、动态规划等基本算法。通过大量的高强度的编程训练,提高动手能力,做到能较为熟练、完整、准确地实现自己设计的程序,为进一步学习其他计算机专业课程,或在其他专业领域运用计算机编程解决问题奠定良好的基础。本课隶属于 程序设计与算法 Fundamentals of Programming and Algorithms Specialization »

北京大学

分享

北大慕课程序设计实习Practice on Programming
  • 分类: 计算机
  • 平台: Coursera
  • 语言: 中文

课程概述

本课程内容程涵盖枚举、二分、贪心、递归、深度优先搜索、广度优先搜索、动态规划等基本算法,配以适量的在线评测例题,使得学员通过本课程的学习,不但能够掌握这些算法的原理,还能够对这些算法进行灵活应用以及准确实现。本课程的中的编程任务,将充分训练学员的思维能力和动手能力,促成对学员全面、缜密思考问题的习惯。达到本门课程的要求,即意味者学员具备了初步的算法基础和较强的编程实现能力。

授课大纲

第1周 枚举算法

第2周 递归算法

第3周 动态规划算法 (1)

第4周 动态规划算法 (2)

第5周 深度优先搜索算法 (1)

第6周 深度优先搜索算法 (2)

第7周 广度优先搜索算法

第8周 二分与贪心算法

先修知识

先修课程:计算导论 & C语言程序设计

参考资料

《程序设计导引及在线实践》,李文新,郭炜,余华山,清华大学出版社,2007

授课形式

本课程由视频课程、在线练习、编程练习以及在线编程考试等部分组成。

常见问题

Q: 学这门课需要数学基础吗?
A: 不需要,是算法课,不是数学课。有高中数学知识足矣。

Q: 这门课的程序用什么语言编写? 学这门课是否一定要会C++?
A: 课堂的例程都是用C++编写的,要看懂需要一定C++的知识。至于完成作业,用C, C++, Java,Pascal语言都可以。

Q: 还是不明白算法到底有什么用。会各种编程语言不就行了吗?
A: 语言只是实现算法的工具。没有好的算法,许多问题,计算机是不能够在人可以接受的时间内计算出结果的。各大IT公司招聘时往往会考察算法,而不是只问你会哪些语言。不会算法,掌握再多种语言,也很难说是一个好的程序员。

声明:MOOC中国收录之课程均源自下列机构,版权均归他们所有。本站仅作报道并尊重其著作权益,感谢他们对MOOC事业做出的贡献!(排名不分先后)
  • Coursera
  • edX
  • OpenLearning
  • FutureLearn
  • iversity
  • Udacity
  • NovoEd
  • Canvas
  • Open2Study
  • Google
  • ewant
  • FUN
  • IOC-Athlete-MOOC
  • World-Science-U
  • Codecademy
  • CourseSites
  • opencourseworld
  • ShareCourse
  • gacco
  • MiriadaX
  • JANUX
  • openhpi
  • Stanford-Open-Edx
  • 网易云课堂
  • 中国大学MOOC
  • 学堂在线
  • 顶你学堂
  • 华文慕课
  • 好大学在线CnMooc

Copyright © 2008-2015 MOOC.CN 慕课改变你,你改变世界