07 2020 档案
摘要:一、什么是多路查找树 二叉树有诸多便利之处,但是当二叉树节点极多时,二叉树的构建速度就会受影响,而且过高的层数也会导致对树的操作效率降低。 对于树的查找而言,树的高度决定了查找的时间下限,但是同样数量的节点,如果要高度小那每一层容纳的节点就要多,而二叉树每一层固定的节点数导致的高度难以降低,为此每一
阅读全文
摘要:一、什么是平衡二叉树 1.概述 平衡二叉树(AVL树)是一种带有平衡条件的二叉搜索树。它的特性如下: AVL树的左右两个子树的高度差的绝对值不超过1 AVL树的左右两个子树都是一棵平衡二叉树 举个例子,如上图所示: 第一棵树左树高2,右树高1,差值为1,是一颗AVL树; 第二棵树左树高2,右树高2,
阅读全文
摘要:一、什么是二叉排序树 二叉排序树(Binary Sort Tree)又称二叉查找树、二叉搜索树。 它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别
阅读全文
摘要:一、什么是赫夫曼编码 哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码, 使用赫夫曼编码可以有效的压缩数据,通常可以节省
阅读全文
摘要:一、什么是赫夫曼树 给定n个权值作为n个叶子节点,构造一课二叉树,若该树的带权路径长度和(wpl)达到最小,称这样的二叉树为最优二叉树,也就是赫夫曼树。 要理解这句话,我们需要了解几个关键词: 路径:从一个节点往下一个节点之间的通路。若根节点层数为1,则根节点通往L层的节点路径长度为L-1 带权路径
阅读全文
摘要:一、什么是堆排序 1.堆,堆排序 对于“堆”我们可以理解为具有以下性质的完全二叉树: 每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆 每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均
阅读全文
摘要:一直都用博客园写博客,后面自己曾经想自己写一个博客项目,但是因为各种各样的事情最后做了一半就没能继续做下去。但是中间定制markdawn样式的时候接触到的代码高亮插件highlight.js倒是给我留下了很深的影响,今天有时间于是决定利用当初的经验重新diy一下博客园的代码块样式,算是对夭折的博客项
阅读全文
摘要:1.开始 进入nginx的安装目录,我的是在/etc/nginx,会有一个默认的nginx.config配置文件,里面已经包含基本配置,并且设置了默认扫描/etc/nginx/conf.d/目录下所有以conf结尾的文件,也就是说,如果有自己需要的配置,直接创一个新.conf的文件即可。 我们先不进
阅读全文
摘要:一、什么是二叉树 1.概述 首先,需要了解树这种数据结构的定义: 树:是一类重要的非线性数据结构,是以分支关系定义的层次结构。每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树 树的结构类似现实中的树,一个父节点
阅读全文
摘要:一、什么是哈希表 1.概述 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度这个映射函数叫做散列函数,存放记录的数组叫做散列表。 通俗的理解一下: 如果我们有n个元素要存
阅读全文
摘要:查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。 定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。 分类: 静态查找和动态查找 静态查找:不对表的数据元素和结构进行任何改变。 动态查找:在查找过程同时插入
阅读全文
