赫夫曼树和线索二叉树
赫夫曼树 前瞻概念 结点权值:和叶子结点对应的一个有某种意义的实数(Wi) 树的路径长度:从树根到每一个结点的路径上的分支数之和。 带权路径长度:叶子结点的路径长度与该结点的权之积。 树的带权路径长度:树中所有叶子结点的带权路径长度之和。 最优二叉树(Huffman,赫夫曼/哈夫曼/霍夫曼树):带权路径长度WPL最小…
Tracing the logic of curiosity across the digital frontier.
这里收录了所有的 169 篇文章 (第 9 / 12 页)
赫夫曼树 前瞻概念 结点权值:和叶子结点对应的一个有某种意义的实数(Wi) 树的路径长度:从树根到每一个结点的路径上的分支数之和。 带权路径长度:叶子结点的路径长度与该结点的权之积。 树的带权路径长度:树中所有叶子结点的带权路径长度之和。 最优二叉树(Huffman,赫夫曼/哈夫曼/霍夫曼树):带权路径长度WPL最小…
实验二:拆解炸弹实验 要想拆解炸弹我们首先需要知道bomb程序是如何工作的,所以我们先通过 指令来得到程序的汇编代码。 由于这关需要查看大量的汇编代码,同时需要通过查找在很多函数中来回跳转,通过原有的方式登录服务器的方式并不方便,所以通过vscode进行远程连接: 通过vscode连接到远端服务器后,可以方便的查看汇…
3.58 首先我们给每一行先添加注释,看看这些汇编代码的作用: 所以我们再写出c代码如下: 3.60 A): 存储x, 存储n, 存储result, 存储mask。 B): result = 0 ,mask = 1。 C): mask != 0是进入循环的条件 D): 每次将mask左移n位 E): x 与 mask…
逻辑结构 1. 集合:数据元素间除“同属于一个集合”外,无其它关系。如,一堆沙子 2. 线性结构:一个对一个,如线性表、栈、队列;如,一根链条,一个单词中的所有字母 3. 树形结构:一个对多个,如树;如,一棵树,家谱树等 4. 图形结构:多个对多个,如图;如,交通图,高铁图 树和二叉树结构 概念合集 树的定义:元素至…
机器级代码 在程序编译过程中,编译器会把抽象的高级代码转化为处理器执行的非常基本的指令,而汇编代码非常接近于机器代码,与机器代码的二进制格式相比,,汇编代码的主要特点是它用可读性更好的文本格式表示。 并且通过汇编代码,一些对于程序员隐藏的处理器状态都是可见的: 程序计数器-(通常称为 "PC", 在 x86-64 中…
串 定义: 零个或多个字符组成的有限序列 衍生定义: 1. 子串:串中任意个连续的字符组成的子序列称为该串的子串。 2. 主串:包含子串的串称为主串 3. 串相等:两个串长度相等,且对应位置的字符都相等 4. 空格串/空白串:由一个或多个空格组成 5. 空串:空串不包含任何字符,长度为0。 串的顺序存储结构 定长顺序…
2.75 针对补码乘法,我们得到如下式子: 其中的mod2^w 相当于截取前w位的操作,那么我们取高w位,则只需将取模运算改为除法。 得到: 于是我们的代码如下: 2.77 A:对于 我们通过一下代码来测试: 显然为0 B 对, ux−uy=x−y −(unsigned(y−x))=−(2^w + y−x)=2^w…
数制转换 将十进制数N转换为r进制的数,其转换方法利用辗转相除法:以N=3467,r=8为例转换方法如下: 代码如下:(这里我们省略了对于栈实现的代码若需要查看栈的内部代码请看:栈和队列) c int main(){ SqStack s; InitStack(&s); char brackets[100]; cin…
计算机中信息的表示 计算机中的所有信息都通过0和1表示,同时大多数计算机使用8位的块,也就是1个字节,作为最小的可寻址单位,这也就是说计算机中一个最小地址单位中包含8个bit位。 进制转换 二进制表示法太冗长,为了简化二进制位的表示,我们通常用8进制和16进制数来表示二进制位,这样既能简短表示长度,同时也方便与二进制…
背景 本来使用ftp协议在手机和电脑之间方便的传输文件,可是有些时候比如视频,或者想要编辑手机上的文件,只能 先下载下来处理,然后再上传回去。深深感到ftp协议的不便,于是了解到smb协议,这种协议可以让windows电脑之间访问修改,甚至运行手机的储存,抛开速度不谈使用体验犹如本地存储。 smb文件协议 SMB(S…
栈、队列是一种特殊(操作受限)的线性表。 区别:仅在于运算规则不同 栈 栈是一种数据结构,它遵循“后进先出”(LIFO, Last In First Out)的原则。 定义:只能在表的一端(栈顶)进行插入和删除运算的线性表 逻辑结构:与线性表相同,仍为一对一关系 存储结构:用顺序栈或链栈存储均可,但以顺序栈更常见 运…
今天在使用vscode时,需要对多个.c文件进行编译调试,才发现以前只会在vscode中进行单个.c文件的编译调试。这部分内容涉及vscode 中tasks.json文件的配置,遂有本文。 认识tasks.json 文件在 VSCode 中用于定义和配置任务,例如编译代码、运行脚本或执行测试。它允许用户自定义自动化流…
hexo更换主题 今天在上网冲浪时,发现了一个好看的blog主题,githob指路:viva。附效果图一张。 但是就在我开心的在hexo中配置完,更换好主题并上传github后,却遇到了一个奇怪的问题,我通过局域网访问blog时能够正常显示,但是访问github page时,却无法正确显示,可能是css错乱的问题。…
2.60 看到这个体题我的思路如下: 1. 先将x中需要替换的部分全都改成0 1. 创建一个临时变量 2. 通过向左位移运算右侧补0,将FF字节移到指定的位置 3. tmp取反,此时 4. 通过且运算将x中对应字节抹零 2. 将b转化为unsigned类型,并且左移,让有效数据位与x抹零的部分对其 3. 通过或预算将…