数据结构
文章平均质量分 75
田小思
奋斗在路上
展开
-
表达式求值
输入一个表达式最后以#结束,输出表达式的结果 例如输入一个表达式 2*(5+2)# 结果为:14 #include #include #define STACK_INT_SIZE 100 #define STACKINCREMENT 10 typedef double SElemType; using namespace std; typedef struct SqStack{//原创 2016-11-02 09:53:16 · 349 阅读 · 0 评论 -
赫夫曼树及赫夫曼编码
以下面的例子来看一下 已知某系统在通信联络中只可能出现8种字符,其概率分别为0.05,0.29,0.07,0.08,0.14,0.23,0.03,0.11,试编写算法求其赫夫曼编码。 #include #include #define UINT_iMAX 100 using namespace std; typedef struct { int weight; int parent,原创 2016-11-20 19:53:15 · 2743 阅读 · 3 评论 -
哈夫曼编码/译码的设计与实现
首先根据给定的n个字符的权值构造哈夫曼树。通过遍历此二叉树完成各字符的哈夫曼编码,另输入一组‘0’、‘1’代码构成的报文将其翻译成对应的字符信息。 废话不说直接上代码: #include #include #define UINT_iMAX 10000 using namespace std; typedef struct { char letter, *code; int weig原创 2016-12-18 09:57:59 · 32586 阅读 · 29 评论 -
c/c++括号匹配
看到一道题关于数据结构的括号匹配的问题,要求使用栈进行操作,如果遇到到的是左括号就进栈,如果读入的是右括号就把前一个入栈的左括号取出出栈,比较他们两个是否匹配,代码如下: #include #include #define S_SIZE 100 //栈的空间大小 struct SqStack{ int *base; //栈底原创 2016-10-19 13:37:19 · 1163 阅读 · 0 评论 -
数据结构探险------队列篇
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。原创 2017-09-20 13:52:08 · 488 阅读 · 0 评论