摘要:
哈夫曼树(最优二叉树) 每个叶子节点都有权值,权值越大的叶节点越靠近根节点,而权值越小的叶节点越远离根节点 建立规则: 依据给出的n个权值,选择最小的两个权值作为一棵新的二叉树的左右子树,并且新的根节点的权值为左右子树权值之和 将新根节点与剩下的有权值的节点重复此操作直至只剩一个根节点 哈夫曼编码: 阅读全文
摘要:
如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。 一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,所以就可以定义一个枚举类型来表示它 枚举元素系统按照 阅读全文
摘要:
Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高! c++标准库里的排序函数的使用方法 I)Sort函数包含在头文件为#include 阅读全文
摘要:
定义: union 共用体名{ 成员列表}; 与结构体不同的是,共用体的所有成员占用同一段内存,修改一个成员会影响其余成员。但是结构体的各个成员会占不同的内存。 结构体占用的内存大于等于所有成员占用的内存总和(成员之间可能存在缝隙),共用体占用的内存等于最长的成员占用的内存。共用体使用了内存覆盖技术 阅读全文
摘要:
结构体: 正常定义一个结构体: 定义结构体指针: Seq *s;或者llink t;之后关于s与t的用法,其实完全一样,只是在定义时不同,Seq *就相当于llink了 以为定义完指针以后就可以使用了吗?NO! 需要为指针申请空间才能正常使用,否则会在输入这里出现很多莫名其妙的错误!亲测如此需要添加 阅读全文