Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

中国大学MOOC网课数据分析与算法Python版(陈斌)课程代码

Notifications You must be signed in to change notification settings

sunxiaolong321/Python-Datastructure-and-algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

23 Commits

Repository files navigation

数据结构与算法Python版(陈斌)北京大学

课程地址

课程内容

01概述(1周)

介绍计算理论和计算复杂性

  • 1.引子
  • 2.关于计算的概念和定义:问题求解的计算之道
  • 3.图灵机计算模型
  • 4.可计算性和计算复杂度;
  • 5.什么是抽象
  • 6.什么是编程实现
  • 7.为什么研究数据结构与抽象数据类型
  • 8.为什么研究算法

02算法分析(1周)

介绍算法分析,大O表示法,以及用实例来演示同一个问题的不同解决方案的算法分析。

  • 1.什么是算法分析?
  • 2.大O表示法
  • 3.案例分析:"变位词"判断问题
  • 4.Python数据结构的性能:列表List和字典Dictionary

03基本结构(2周)

介绍栈、队列、双端队列和列表等线性结构。

  • 1.什么是线性结构?
  • 2.栈Stack抽象数据类型及Python实现
  • 3.栈的应用:简单括号匹配
  • 4.栈的应用:十进制转换为二进制
  • 5.栈的应用:中缀、前缀和后缀表达式
  • 6.队列Queue抽象数据类型及Python实现
  • 7.队列的应用:热土豆
  • 8.队列的应用:打印任务
  • 9.双端队列Deque抽象数据类型及Python实现
  • 10.双端队列应用:回文词判定
  • 11.列表List抽象数据类型及Python实现
  • 12.无序表实现及链表
  • 13.有序表抽象数据类型及Python实现

04 递归(3周)

介绍递归和动态规划算法,以及分治策略解决问题。

  • 1.什么是递归
  • 2.实例分析:列表求和的递归算法
  • 3.递归"三定律"
  • 4.递归的应用:任意进制转换
  • 5.实现递归:调用栈
  • 6.递归的可视化
  • 7.递归的应用:塞宾斯基三角形绘制
  • 8.复杂递归问题
  • 9.递归的应用:汉诺塔
  • 10.递归的应用:探索迷宫
  • 11.动态规划Dynamic Programming

05排序与查找(2周)

介绍经典的排序和查找算法

  • 1.什么是查找?
  • 2.顺序查找算法及分析
  • 3.二分查找算法及分析
  • 4.散列:散列函数、碰撞解决和映射数据类型
  • 5.什么是排序?
  • 6.冒泡排序算法及分析;
  • 7.选择排序算法及分析;
  • 8.插入排序算法及分析;
  • 9.谢尔排序算法及分析;
  • 10.归并排序算法及分析;
  • 11.快速排序算法及分析。

06树及算法(3周)

介绍树结构和树结构的处理算法,以及应用

  • 1.树的基本概念及相关术语
  • 2.树的列表实现;
  • 3.树的链表实现;
  • 4.树的应用:表达式解析
  • 5.树的遍历
  • 6.二叉堆实现的优先队列
  • 7.二叉堆的实现
  • 8.二叉查找树及操作
  • 9.二叉查找树实现及算法分析
  • 10.平衡的二叉查找树
  • 11.AVL树的性能
  • 12.AVL树的实现

07图及算法(3周)

介绍图结构和图的应用。

  • 1.图的基本概念及相关术语
  • 2.图抽象数据类型
  • 3.邻接矩阵和邻接表
  • 4.图的实现
  • 5.Word Ladder词梯问题
  • 6.构建词梯问题的图数据结构
  • 7.实现广度优先搜索BFS
  • 8.BFS算法分析
  • 9.骑士周游问题
  • 10.构建骑士周游问题的图数据结构
  • 11.骑士周游问题算法实现
  • 12.骑士周游问题算法分析
  • 13.通用的深度优先搜索DFS
  • 14.DFS算法分析
  • 15.拓扑排序
  • 16.强连通分支
  • 17.最短路径问题Dijkstra算法及算法分析
  • 18.Prim最小生成树算法

参考资料

北京大学地空学院数据结构与算法B课程网站
数据结构与算法Python-中文版-内部教材
在线英文版教材
Python3官方中文版文档
Python3烹饪书
在线Python代码规范

About

中国大学MOOC网课数据分析与算法Python版(陈斌)课程代码

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /