课程名称:Java程序设计(自主模式) 授课老师:郑莉(清华大学教授) 发证机构:清华大学、学堂在线 学习时间:2018.3 证书类型:普通证书 发证时间:2018.3.12 证书验证地址:http://www.xuetangx.com/verify/D2AEjLBbzXN
课程名称:Java程序设计(自主模式) 授课老师:郑莉(清华大学教授) 发证机构:清华大学、学堂在线 学习时间:2018.3 证书类型:普通证书 发证时间:2018.3.12 证书验证地址:http://www.xuetangx.com/verify/D2AEjLBbzXN
第九周:Python计算生态概览 9.1 从数据处理到人工智能 9.1.1 Python库之数据分析 Numpy:表达N维数组的最基础库,C语言实现,Python借口使用。它是Python数据分析及科学计算的基础库,支持Pandas等。 Pandas:提供了简单易用的数据结构和数据分析工具,它可以帮助我们理解数据类型与索引关系,操作索引即操作数据。 SciPy:提供了一批数学算法及工程数据运算功能,类似Matlab,可以用于如傅里叶变换、信号处理等应用。 9.1.2 Python库之数据可视化 Matplotlib…
第十一讲:散列查找 11.1 散列表 11.1.1 散列的基本思路 编译处理时,设计变量及属性的管理: (1)插入:新变量定义。 (2)查找:变量的引用。 编译处理中对变量管理:动态查找问题。 利用查找树进行变量管理,由于两个变量名(字符串)比较效率不高。 我们已知的查找方法: (1)顺序查找,复杂度O(N); (2)二分查找(静态查找),复杂度O(logN) (3)二叉搜索树,复杂度为O(h),其中h为二叉查找树的高度; (4)平衡二叉树,复杂度为O(logN)。 如何快速搜索到需要的关键词呢?如果关键词不方便比…
第十讲:排序(下) 10.1 快速排序 10.1.1 算法概述 策略:分而治之。 下面举个例子,假如一组数为13/81/92/43/65/31/57/26/75/0,我们对其进行排序。那么首先选择出一个主元,这里我们选择为65,那么将这组数的其他成员分为了两组,一组是小于主元的13/43/31/57/26/0,一组是大于主元的81/92/75.然后将其递归处理,两边各选一个主元再进行分组……倒数第二步的时候,我们在第一步选择出来的主元左侧已经排好了顺序,右侧也排好了顺序,这样将它们放在同一个数组中,就完成了排序。 …
第九节:排序(上) 9.1 概述 对于之后应用到的一些说明: (1)void X_Sort(ElementType A[], int N) X为排序名称。 ①大多数情况下,为了简单起见,讨论从小到大的整数排序。 ②默认N为正整数。 ③只讨论基于比较的排序(>=<都是有定义的)。 ④只讨论内部排序(一次性可以写入内存,然后只在内存里面的数据排序)。 ⑤稳定性:任意两个相等的数据,排序前后的相对位置不发生改变。 没有一种排序是任何情况下都表现最好的!!! 9.2 简单排序算法 9.2.1 冒泡排序 在一次排…
第八讲:图(下) 8.1 最小生成树问题 8.1.1 最小生成树(Minimum Spanning Tree) 如图1所示。 图1 它是一棵树:无回路;|V|个顶点一定有|V|-1条边; 它是生成树:包含全部顶点;|V|-1条边都在图里。在图1中,第2/3/4个图都是图1的生成树,可以看出,生成树中任加一条边都一定构成回路。 最小:边的权重和最小。 显然可以得出,最小生成树存在<->图连通。 8.1.2 贪心算法 贪:每一步都要最好的。好:权重最小的边。 需要约束:只能用图里有的边;只能正…
第七节:最短路径问题 7.1 概述 最短路径问题的抽象: 在网络中,求两个不同顶点之间的所有路径中,边的权值之和最小的那一条路径。这条路径就是两点之间的最短路径。第一个顶点称为源点,最后一个顶点为终点。 问题分类: (1)单源最短路径问题:从某固定源点触发,求其到所有其他顶点的最短路径。又分为(有无向)有权图和(有无向)无权图两种。 (2)多源最短路径问题:求任意两顶点间的最短路径。 7.2 无权图的单源最短路 按照递增(非递减)的顺序找出到各个顶点的最短路。例如图1: 图1 我们以v3作为源点,与v…
