课程简介

这是关于计算机算法的入门课程。适合受过高中程度的教育,希望对计算机算法相关话题有比较专业的了解,但还没系统学习的学习者。这里提供的完整内容(包括总共400分钟讲课视频,80道习题和一套包含15个题的试卷),既可以作为大学非计算机专业的选修课材料,也可以用于大学面向学有余力的高中生开设的AP(先修)课程。 课程概述 在概述了算法是什么、算法的描述、算法的分析和算法的类型等四个方面的要点之后,课程选择了10个有代表性的问题进行算法求解的讨论。采用问题导入,算法思路,算法描述和算法分析的基本框架,展现了计算机科学中常用的算法思维内涵。同时,对有些问题,通过强调一题多解的过程,体现了丰富的算法设计思想。 课程目标 通过本课程的学习,预期学习者将获得关于算法世界的一个多维度、有深度的视野,通过熟悉10个典型的问题求解过程,领会丰富多彩的算法思想和算法作为一门学问所关心的要点。学完了本课程,能比较专业地与他人讨论算法问题。

课程大纲

第一讲    开启算法学习之旅

  1.1  什么是算法

  1.2  算法的描述

  1.3  算法的分析

  1.4  算法的类型

第二讲    量水问题  

       2.1量水问题的引入

       2.2 欧几里得算法

       2.3 扩展欧几里得算法

第三讲    二分法

       3.1 二分搜索

       3.2 求奇次方程的一个实根

第四讲    最优编码树

               4.1信息编码

               4.2 哈夫曼编码树

               4.3 哈夫曼编码算法

第五讲    优化互连互通的成本

         5.1 连通图与生成树

         5.2 最小生成树算法

         5.3 算法的正确性

第六讲    斐波那契数的三种解法

               6.1递归法

               6.2 记忆法(动态规划)

               6.3 矩阵解法

第七讲    最大收益的投资组合

         7.1 背景问题

         7.2 最大回报——动态规划法

         7.3 最佳投资组合

第八讲    路径规划

               8.1 图论基础及最短路径问题

               8.2 单源最短路径算法(Dijkstra算法)

               8.3 多源最短路径——动态规划策略

               8.4 多源最短路径算法(Floyd-Warshall算法)

第九讲    物以类聚,人以群分

         9.1 层次聚类法

         9.2 K均值聚类法

         9.3 比较与升华

第十讲    近朱者赤,近墨者黑

               10.1分类问题

               10.2 K近邻分类算法

第十一讲 旅行推销员问题三解

         11.1 蛮力解法

         11.2 遗传算法

         11.3 最小生成树法




课程说明

参考资料

李晓明,王卫红,薛定稷,《信息技术之选修——算法初步》,华东师范大学出版社,20218

陈道蓄,李晓明,《算法漫步——乐在其中的计算思维》,CCF PRESS(机械工业出版社),20218

李晓明,周刚,顾秋辉,白晓琦,《信息技术之选择性必修——数据与数据结构》,华东师范大学出版社,20213



拓展阅读

其他

主讲教师

李晓明 等   

1986年,在美国史蒂文斯理工学院计算机系获得博士学位,后在中国哈尔滨工业大学做博士后、教授。1995-1997在美国锡拉丘茨大学东北并行计算中心(NPAC)做高级访问学者。1997年9月至现在,为北京大学计算机系教授。

王卫红   计算机

毕业于美国科罗拉多州立大学计算机科学系,获硕士学位。现为北京大学信息科学技术学院专职教师,担任计算机网络相关的课程教学工作,参与《网络、群体与市场》教材翻译工作。

相关课程推荐

  • 正在进行
    数据结构与算法(上)
    计算机是现代社会中用于解决问题的重要工具。利用计算机解决实际问题需要将问题抽象,并对数据进行操作,最后通过计算机程序求解问题。而本门课程主要内容就是对以上内容进行研究。
  • 正在进行
    生物统计
    得益于现代科学技术的快速发展,目前生物科学家可以在短时间内产生大量的数据。这些生物技术的普及使得生物大数据的分析已经变成了生物学研究及应用的关键。在此课程中,我们将主要讲授在生物数据分析中特别是近年来高通量生物数据分析中常用的统计方法,并基于软件R介绍利用这些方法进行生物数据分析的具体实例。本课程无指定教材,但可参考所列参考资料。本课的视频和文字内容仅用于课程学习,仅允许登陆本慕课的同学观看,未经任课教师本人授权,禁止课程之外的下载和传播。
  • 正在进行
    数据可视化
    随着信息技术的高速发展,信息数据量呈指数增长。对海量的复杂数据的分析和处理迫切需要先进的可视化技术。在本慕课课程中,我们将探讨如何建立包括科学和信息可视化在内的有效的可视化方法。本课程面向有兴趣在自己的学习工作中使用可视化或者有志于从事可视化研究的同学。 慕课课程将主要通过案例和实践,提供丰富在线的案例和可视化代码样本,教授学员对可视化方法和原理的深入理解。

恭喜,报名成功

进入学习中心

恭喜,报名成功

确定

请进入开课界面预览

确定

X

请去您的邮箱验证

还没收到验证邮件?

1. 试试去广告邮件、垃圾邮件目录看看

2. 再次发送验证邮件

对不起,班次容量已满

请报名下一班次

知道了~!

对不起,您没有操作权限

知道了~!