
数据结构
kafm
哼
展开
-
栈:栈及表达式求值与迷宫问题的简单应用
栈栈是一种进出受限的线性表。即仅可在一端进出数据,于是具有FILO(first in last out 先进后出)这种特点。适合于各种需要回退到上一状态的应用场景。并且通过对进出规则的进一步控制,将优先级转化为出现位置的先后顺序上。ADT Stack{数据对象:同一数据类型的若干数据的集合结构关系:线性关系基本运算: int initStack(Stack **stack);//初...原创 2018-10-11 23:04:37 · 413 阅读 · 0 评论 -
串:串的基本定义及简单应用魔王语言
串串,于我的理解就是字符串一般认为有三种存储方式:定长顺序串,堆串,块链串(个人认为比较鸡肋)。定长顺序串类似于普通字符串,同数组的大小一样最长长度固定。堆串存储在堆中,空间大小可重新分配。块链串类似于链表,是极端节省空间的堆串。定长顺序串与堆串应用较多ADT String{}ADT String...原创 2018-10-13 11:57:53 · 702 阅读 · 2 评论 -
树:哈夫曼编码解码及压缩存储
哈夫曼树哈夫曼树即最优二叉树,算法如下:(1)在当前未使用结点中找出两个权重最小的作为左右孩子,计算出新的根结点(2)新的根结点继续参与过程(1),直至所有结点连接为一棵树如下图,symbol为具体字符,Frequency为出现频率(权重)特点:只有度数为0和2的结点C语言静态链表实现哈夫曼树实现功能:输入一段英文文本,统计各字符出现次数作为权重,以当前字符集生成哈夫曼树,给出...原创 2018-11-19 19:37:45 · 2277 阅读 · 3 评论