08 2019 档案
摘要:不交换元素,交换指向元素的指针的顺序,是间接排序的方法 如果一定要排序,可以通过表排序之后,再对数据排序,这里包含了“环”的概念。
阅读全文
摘要:子集划分: https://www.icourse163.org/learn/ZJU-93001?tid=1206471203#/learn/content?type=detail&id=1211167115&cid=1213729377
阅读全文
摘要:一、平衡二叉树的定义 平衡二叉树的调整 https://www.icourse163.org/learn/ZJU-93001?tid=1206471203#/learn/content?type=detail&id=1211167090&cid=1213729228 四种模式: 1、插入Nov后会导
阅读全文
摘要:一、二叉搜索树的定义 二、二叉搜索树的查找操作 三、二叉搜索树的插入操作 四、二叉搜索树的删除操作
阅读全文
摘要:功能介绍: 一、计算机辅助设计功能(CAD) 1、可在工作站中建立常见的几何模型; 2、可以导入外部常见格式的物理模型(如IGES,STEP,STL等); 3、在工作站内对模型进行一系列操作(如切割,合并,求两物体的相交线等)。 二、离线轨迹规划功能: 1、根据导入的模型,选择一定的方式,在复杂曲面
阅读全文
摘要:一、先序遍历、中序遍历、后序遍历 用堆栈实现非递归中序遍历: 二、层序遍历
阅读全文
摘要:二叉树的定义: 二叉树的重要性质: 二叉树的存储结构:用数组存储完全二叉树 二叉树的存储结构:用链表存储
阅读全文
摘要:解决排课问题: 每一次先选择入度为0的结点。 AOE问题:
阅读全文
摘要:贪心算法之Prim算法: 贪心算法之Kruskal算法:https://www.icourse163.org/learn/ZJU-93001?tid=1206471203#/learn/content?type=detail&id=1211167108&cid=1213729334&replay=t
阅读全文
摘要:一、无权图的单源最短路径算法 广度优先搜索的思想,所有的结点有一个编号,数组dist的下标编号表示结点,dist的内容表示最短距离 数组path的下标编号表示结点,path的内容表示在最短距离中,它的上一个结点的编号 假设无权图由链表的方式表达,时间复杂度为O(|V|+|E|) 例子: ——> 二、
阅读全文
摘要:先说说选择排序: 堆排序是对选择排序的改进 算法1,是生成一个传统的最小堆,逐步取树根元素,存入数组 真正的堆排序算法,思想是把A调成一个最大堆,把最大元素跟末尾元素交换,最大堆大小减1,然后调整,知道最大堆只有1个元素。 这里的最大堆跟传统的最大堆区别在于,它的下标是从0开始的,写代码的时候要注意
阅读全文
摘要:一、冒泡排序 可以改进的地方,在外层循环开始的地方声明一个 int flaf = 0;交换语句后面加个flag = 1,意思是如果在内层循环中发生过交换,flag为1,否则没有发生过交换,说明已经有序,排序到此结束。 冒泡排序的优点: 即使带排数列是存放在链表中的,冒泡排序依然可以起作用。 二、插入
阅读全文
摘要:双亲表示法:孩子指向父亲。 一、引出 二、集合运算 将小树挂到大树上,使树的高度不会太大。
阅读全文
摘要:一、哈夫曼树(最优二叉树) 1、问题引出: 那么,如何根据结点不同的查找频率构造更有效的搜索树? 2、哈夫曼树的构造 ——>——>——>——> 算法:先选取两个权值最小的——用最小堆 二、哈夫曼编码 a:00 u:01 x:10 z:11 可以发现,如果他们都在叶结点上,那么任意一个字母的编码都不可
阅读全文
摘要:一、堆的性质 结构性:用数组表示的完全二叉树 有序性:任意一结点的关键字是其子树所有结点的最大值(或最小值) 二、最大堆的操作 1、创建一个空的最大堆,堆从下标为1的地方开始存放(根结点下标为1) 2、最大堆的插入 首先,把要插入的结点放在数组的末尾,假设下标为H->size + 1 再将它与父结点
阅读全文
摘要:一、运算符重载 将双目运算符重载为成员函数: 将单目运算符重载为成员函数: 为了在程序中区分前置运算符(前置++)和后置++,需要在后置++的参数列表里面加东西来区分。 运算符重载为非成员函数: 二、虚函数 sad
阅读全文
摘要:继承:保留利用原有的类的功能; 派生:添加新的成员和功能。 派生类的构成:吸收基类成员、改造基类成员、添加新的成员。默认情况下派生类包含了全部基类函数中除构造函数和析构函数之外的所有成员,C++11规定可以用using语句继承基类构造函数。 一、继承方式 不同的继承方式的影响主要体现在: 1、派生类
阅读全文

浙公网安备 33010602011771号