课程简介

这是关于计算机算法的入门课程。适合受过高中程度的教育,希望对计算机算法相关话题有比较专业的了解,但还没系统学习的学习者。这里提供的完整内容(包括总共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月至现在,为北京大学计算机系教授。

王卫红   计算机

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

相关课程推荐

  • 正在进行
    生物信息学: 导论与方法
    生物信息学是一门新兴的生命科学与计算科学的前沿交叉学科。本课程讲授生物信息学主要概念和方法,以及如何应用生物信息学手段解决生命科学问题。
  • 正在进行
    操作系统原理
    《操作系统原理》是针对计算机科学技术专业三年级本科生开设的一门专业基础课程。本课程着重学生系统观的培养,通过重点讲述操作系统的内部结构、工作原理及典型技术的实现,使学生建立起对操作系统的整体及各个功能模块的认识,从而系统掌握计算机的专业知识,进一步提升学生的软件开发能力乃至系统软件开发能力。
  • 正在进行
    设计模式
    本课程介绍什么是设计模式,设计模式的分类及每种设计模式的具体结构类图、角色和java实例,还包括每种设计模式的优缺点和使用场景。

恭喜,报名成功

进入学习中心

恭喜,报名成功

确定

请进入开课界面预览

确定

X

请去您的邮箱验证

还没收到验证邮件?

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

2. 再次发送验证邮件

对不起,班次容量已满

请报名下一班次

知道了~!

对不起,您没有操作权限

知道了~!