摘要: 双亲表示法:孩子指向父亲。 一、引出 二、集合运算 将小树挂到大树上,使树的高度不会太大。 阅读全文
posted @ 2019-08-14 22:05 maider 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 一、哈夫曼树(最优二叉树) 1、问题引出: 那么,如何根据结点不同的查找频率构造更有效的搜索树? 2、哈夫曼树的构造 ——>——>——>——> 算法:先选取两个权值最小的——用最小堆 二、哈夫曼编码 a:00 u:01 x:10 z:11 可以发现,如果他们都在叶结点上,那么任意一个字母的编码都不可 阅读全文
posted @ 2019-08-14 21:43 maider 阅读(772) 评论(0) 推荐(0) 编辑
摘要: 一、堆的性质 结构性:用数组表示的完全二叉树 有序性:任意一结点的关键字是其子树所有结点的最大值(或最小值) 二、最大堆的操作 1、创建一个空的最大堆,堆从下标为1的地方开始存放(根结点下标为1) 2、最大堆的插入 首先,把要插入的结点放在数组的末尾,假设下标为H->size + 1 再将它与父结点 阅读全文
posted @ 2019-08-14 20:56 maider 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 一、运算符重载 将双目运算符重载为成员函数: 将单目运算符重载为成员函数: 为了在程序中区分前置运算符(前置++)和后置++,需要在后置++的参数列表里面加东西来区分。 运算符重载为非成员函数: 二、虚函数 sad 阅读全文
posted @ 2019-08-14 19:16 maider 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 继承:保留利用原有的类的功能; 派生:添加新的成员和功能。 派生类的构成:吸收基类成员、改造基类成员、添加新的成员。默认情况下派生类包含了全部基类函数中除构造函数和析构函数之外的所有成员,C++11规定可以用using语句继承基类构造函数。 一、继承方式 不同的继承方式的影响主要体现在: 1、派生类 阅读全文
posted @ 2019-08-14 15:30 maider 阅读(8341) 评论(0) 推荐(0) 编辑