文章分类 -  数据结构

摘要:堆排序 大顶堆 小顶堆 https://www.cnblogs.com/lanhaicode/p/10546257.html https://xiaozhuanlan.com/topic/6985203174 阅读全文
posted @ 2021-09-17 17:32 new-code 阅读(11) 评论(0) 推荐(0) 编辑
摘要:链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,链表比 阅读全文
posted @ 2021-08-21 11:07 new-code 阅读(510) 评论(0) 推荐(0) 编辑
摘要:数据结构-图 洛谷 P5318 https://www.luogu.com.cn/problem/P5318 #include<bits/stdc++.h> using namespace std; struct edge{//存边结构体 int u,v;//开始结束点 u为开始 v为结束 }; v 阅读全文
posted @ 2021-05-30 10:37 new-code 阅读(32) 评论(0) 推荐(0) 编辑
摘要:数据结构-图-存储 邻接矩阵 存储如下图1,图2 图1 对应邻接矩阵 图2 代码示例: #include<bits/stdc++.h> #define MAXN 1005 using namespace std; int n; int v[MAXN][MAXN]; int main(){ cin>> 阅读全文
posted @ 2021-05-30 10:26 new-code 阅读(100) 评论(0) 推荐(0) 编辑
摘要:vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器 vector 是C++ STL的一个重要成员 vector是表示可变大小数组的序列容器 vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组, 阅读全文
posted @ 2021-05-30 09:07 new-code 阅读(146) 评论(0) 推荐(0) 编辑
摘要:题目:有一个字符串:cabcedeacacdeddaaaba,问题: (1)采用霍夫曼编码画出编码的过程,并写出各字符的编码 (2)根据求得的编码,求得各编码需要的总位数 (3)求出整个字符串总编码长度,并计算出字符串位数在编码前与编码后的比值 解答:(1)各字符出现频率统计如下表所示。 符号出现次 阅读全文
posted @ 2020-10-07 10:04 new-code 阅读(856) 评论(0) 推荐(0) 编辑
摘要:哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。 哈夫曼编码,主 阅读全文
posted @ 2020-10-07 10:03 new-code 阅读(359) 评论(0) 推荐(0) 编辑
摘要:假定有前缀表达式++1*2 3 4 请将它转化为中缀表达式。 利用表达式树: 1.从右到左扫面后缀表达式,一次一个符号读入表达式。 2. 如果符号是操作数,那么就建立一个单节点树并将它推入栈中。如果符号是操作符,那么就从栈中弹出两个树T1和T2(T1先弹出)并形成一颗新的树,该树的根就是操作符 3. 阅读全文
posted @ 2020-08-05 15:59 new-code 阅读(5019) 评论(0) 推荐(1) 编辑
摘要:假定有后缀表达式1 2 3 + 4 * +5 – ,请将它转化为前缀表达式。 利用表达式树: 1.从左到右扫面后缀表达式,一次一个符号读入表达式。 2.如果符号是操作数,那么就建立一个单节点树并将它推入栈中。如果符号是操作符,那么就从栈中弹出两个树T1和T2(T1先弹出)并形成一颗新的树,该树的根就 阅读全文
posted @ 2020-08-05 15:11 new-code 阅读(352) 评论(0) 推荐(1) 编辑
摘要:(1)首先确定表达式表达式A的运算顺序,然后加括号:((1 + (( 2 + 3)* 4 )) – 5 ) (2)从最里面的一层括号开始运算,转换成后缀表达式的方法为:(忽略括号)数字在前,符号在后。 1)( 2 + 3) => 23+ 2) (( 2 + 3)* 4 ) => 23+4* 3) ( 阅读全文
posted @ 2020-08-05 14:24 new-code 阅读(66) 评论(0) 推荐(0) 编辑
摘要:假定有中缀表达式1 + (( 2 + 3)* 4 ) – 5,请将它转化为前缀表达式 (1)首先确定表达式表达式A的运算顺序,然后加括号:((1 + ( 2 + 3)* 4 ) – 5 ) (2)从最里面的一层括号开始运算,转换成前缀表达式的方法为:(忽略括号)符号在前,数字在后。 1)( 2 + 阅读全文
posted @ 2020-08-05 14:21 new-code 阅读(549) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示