Python Level 8
适合熟练掌握Python语言基础的学生,通过学习栈、链表、队列、散列表等常用数据结构和二分查找、归并排序、排序等经典算法,掌握行之有效的解决问题的思路和方法,建立时间、空间复杂度意识,为编写性能更优的代码打下基础。
课程对象 |
|
上课形式 |
|
学习时长 |
(以上) |
|
12节录播课+12节小班课+3个月在线答疑 |
|
3个月(建议) |
课程大纲
序号 |
课程 |
课程内容 |
知识点 |
1 |
时间复杂度分析 |
本节课初步了解数据结构与算法的重要性,了解了数据结构与算法中的重要概念:时间复杂度。并通过一些小例子了解如何去分析时间复杂度。 |
1、数据结构与算法的重要性 2、大O表示法 3、常见时间复杂度 4、分析算法的时间复杂度 |
2 |
队列 |
本节课了解了队列这种线性表数据结构,重点学习了队列"先进先出"的特点,以及如何用代码实现队列。 |
1、队列的特点 2、代码实现队列 3、队列的操作 4、队列的应用 |
3 |
栈与递归 |
本节课主要了解线性表数据结构——栈,学习了栈"后进先出"的特点,以及如何实现栈,重点学习了栈的应用以及栈与递归的关系。 |
1.栈的特点 2.代码实现栈 3.栈的应用场景 4.栈与递归的关系 |
4 |
冒泡排序与插入排序 |
本节课主要了解了两种排序算法——冒泡排序和插入排序。详细分析了两种排序算法的原理,以及它们的时间复杂度,后对它们的实际效率进行了比较。 |
本节课主要了解了两种排序算法——冒泡排序和插入排序。详细分析了两种排序算法的原理,以及它们的时间复杂度,后对它们的实际效率进行了比较。 |
5 |
排序 |
首先通过案例理解分区点构造的过程,然后使用Python语言实现排序,后对其平均时间复杂度进行分析 |
1.排序的思想 2.分区点构造 3.排序的时间复杂度 |
6 |
归并排序 |
通过案例理解归并操作,定义函数实现有序数列归并;了解分而治之的思想,结合该思想使用Python语言实现归并排序 |
1.归并函数 2.分而治之 3.归并排序的递归实现 |
7 |
二分查找 |
本节课在上两节课的基础上学习了一种查找算法——二分查找。结合生活场景介绍了二分查找的思想,并利用代码实现二分查找,分析它的时间复杂度,以及实际应用场景。 |
1.二分查找的思想 2.递归与非递归实现 3.二分查找的时间复杂度 4.二分查找的特点与应用 |
8 |
散列表 |
通过MD5了解Hash思想;通过学习散列函数设计和冲突处理的方法深刻理解散列表这种重要的数据结构 |
1.MD5和Hash 2.散列函数的设计 3.冲突处理 |
9 |
链表 |
本节课了解了数据结构的分类,初步熟悉了内存的工作原理,以及线性表的概念,重点学习了链表这个数据结构。 |
1、内存的工作原理 2、线性表与非线性表 3、链表 4、代码实现链表 |
10 |
二叉树与摩尔斯电码 |
本节课通过引入摩尔斯电码,并将其用二叉树来实现。学习了二叉树的节点表示,二叉树的构建,查找与遍历。 |
1.摩尔斯电码的表示 2.二叉树节点的表示 3.二叉树的构建、查找和遍历 |
11 |
k近邻方法 |
本节课利用花朵的多维特征数据,引入机器学习中的k近邻方法,计算未知数据与近邻的k个点的距离,从而给出未知花朵类型的预测结果。后介绍了一种的高维数据查找方式:kd树。 |
1.k近邻方法的原理 2.距离度量 3.数据归一化 4.k值的分析 5.交叉验证得出优k值 6.kd树的构造原理 |
12 |
kd树 |
本节课利用kd树实现了高维数据的近邻查找。通过二维样例详细分析了二维平面中数据对区域的划分和对叶子节点的查找,通过叶子节点向根节点的回溯来逐步缩小查找范围,得到近邻点。 |
1.kd树的构建过程 2.kd树与区域划分 3.叶子节点的查找 4.叶子节点到根节点的回溯搜索分析 |
更多培训课程,学习资讯,课程优惠,课程开班,学校地址等学校信息,请进入 编玩边学少儿编程培训 详细了解 咨询电话:400-0358-011 你也可以留下你的联系方式,让课程老师跟你详细解答: 在线咨询