![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
骓不逝兮
如果不努力,你还能干嘛
展开
-
HDU2680-Choose the best route(经典最短路问题dijkstra算法)
Choose the best routeOne day , Kiki wants to visit one of her friends. As she is liable to carsickness , she wants to arrive at her friend’s home as soon as possible . Now give you a map of the city’s原创 2017-08-25 22:57:52 · 237 阅读 · 0 评论 -
静态查找表
静态查找表只查找,不进行插入或删除。静态查找表的操作有:Create(&ST, n)构造一个含有 n 个数据元素的静态查找表Destory(&ST) 销毁表 ST,前提是表存在Search(ST, kval) 若 ST 中存在其关键字等于 kval 的数据元素,则函数值为该元素的值,或在查找表中的位置,否则为空。Traverse(ST) 按照某种次序输出 ST 中的每个数据元原创 2020-06-01 21:38:24 · 2085 阅读 · 0 评论 -
赫夫曼树和赫夫曼树编码
赫夫曼树,又称最优树,是一类带权路径长度最短树。从树中一个节点到另一个节点之间的分支构成这两个节点之间的路径,路径上的分支数目称为路径长度。树的路径长度指的是从树根到树中其他每个节点的路径长度之和。节点的带权路径长度是指从树的根节点到该节点之间的路径长度与该节点上所带权值的乘积。树的带权路径长度定义为树中所有叶子节点的带权路径长度之和。1、构造赫夫曼树(1)根据给定的n个权值{ w1原创 2018-01-15 21:03:03 · 2020 阅读 · 1 评论 -
二叉排序树
二叉排序树或是一颗空树,或是具有以下特性的二叉树:(1)若它的左子树不为空,则左子树上的所有结点的值都小于根结点的值;(2)若它的右子树不为空,则右子树上的所有结点的值都大于根结点的值;(3)它的左、右子树也都分别是二叉排序树。(不难发现,对二叉排序树进行中序遍历得到的序列是一个有序序列)1、向二叉排序树中插入结点type TElemType RcdType;voi原创 2018-01-15 19:47:42 · 601 阅读 · 0 评论 -
树和森林
1、树的定义树是n个数据元素的有限集合D,若D为空集,则为空树,否则(1)在D中存在唯一的称为根的数据元素 root。(2)当 n>1时,其余结点可分为 m 个互不相交的有限集合T1, T2,,,,,Tn其中,每个子集本身又是一棵符合本定义的树,并称为根 root 的子树2、树的存储结构(1)双亲表示法在树中,每个结点只有一个双亲,且根的双亲表示为空co原创 2018-01-11 19:51:53 · 253 阅读 · 0 评论 -
线索二叉树
线索二叉树遍历二叉树的过程就是沿着某一条搜索路径对二叉树中的结点进行一次且仅仅一次的访问。在这些线性序列中每个结点(除第一个和最后一个外)有且仅有一个直接前驱和一个直接后继。为此我们可以在二叉链表的结点中添加两个指针域,分别存放前驱和后继的指针,称这些指针为线索。线索链表中的结点结构为:typedef struct BiThrNode{ TElemType data;原创 2018-01-11 18:39:15 · 141 阅读 · 0 评论 -
二叉树的性质与基本应用
1.二叉树的基本性质性质一:在二叉树的第 i 层上至多有 2^(i-1)个结点(i>=1);性质二:深度为 k 的二叉树至多有 2^i - 1 个结点(k>=1);性质三:对任何一棵树的 T, 如果其终端结点数为 n0, 度为 2 的结点数为 n2, 则 n0 = n2 + 1;性质四:具有 n 个结点的完全二叉树的深度为 【log2 n】+1;性质五:如果对一棵有 n 个结点原创 2018-01-10 21:01:16 · 1442 阅读 · 0 评论