数据结构
C语言版
YJY@
小白ZFF
展开
-
哈夫曼树及其哈夫曼编码(数据结构C语言)
哈夫曼树及其哈夫曼编码 输入5种字符以及他们的权值:a:10, b:5, c:20, d:8,e:15 第一步:构建哈夫曼树 第二步:为哈夫曼树的每一条边编码(左0右1),图中没有标 代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> #define N 5 //带权值的叶子节点数 #define M 2*N-1 //n个叶子节点构造的哈夫曼树有2n-1个结点 #define MAX 10原创 2021-06-05 20:48:32 · 1814 阅读 · 1 评论 -
遍历二叉树(递归)
遍历二叉树(递归) #include<stdio.h> #include<stdlib.h> //动态内存分配 #define OK 1; #define ERROR 0; typedef char TElemType; typedef int Status; typedef struct BiTNode{ TElemType data; // struct BiTNode *lchild,*rchild; //左右孩子指针 }BiTNode,*BiTr原创 2021-05-29 17:33:57 · 88 阅读 · 0 评论 -
栈的应用--迷宫求解
栈的应用–迷宫求解 思路: 从一个起点(1,1)坐标开始, 依次判断它的右,下,左,上, 方位能不能走 如果能就直接走, 每走一步将这个位置的坐标入栈, 并且标记为2, 若都不能走, 说明走到死路了, 要开始回溯,走过没有走过标记为3 回溯时就是把入栈的坐标出栈, 即可原路返回, 每返回一步就重新再判断它的 右,下,左,上, 能不能走,直到找到终点(8,8)坐标,否则没有通路 #include <stdio.h> #include <stdlib.h> #include &l原创 2021-05-29 16:09:42 · 3327 阅读 · 2 评论 -
数据结构串的基本操作
数据结构串的堆分配的基本操作 函数 //初始化字符串 Status InitString(HString *T) //生成一个其值等于串常量 chars 的字符串 T Status StrAssign(HString &T,char *chars) //返回字符串元素的个数 Status StrLength(HString S) //比较字符串长度 Status StrCompare(HString S,HString T) //清空S串 void ClearString(HString S,HS原创 2021-05-13 13:30:54 · 1605 阅读 · 0 评论 -
数据结构-链队列-基本操作
数据结构-链队列-基本操作 队列定义: 只能在表的一段进行插入操作,在表的另一端进行删除操作的线性表。 逻辑结构: 与线性表相同,任然为一对一关系。 运算规则: 只能在对尾或者对手进行运算,且访问节点是依照先进先出的规则。 基本操作: Status InitQueue(LinkQueue &Q)//构造一个空的队列 void OutputQueue(LinkQueue &Q)//输出队列中的数据元素 Status EnQueue(LinkQueue &Q,QElemType e)//原创 2021-04-08 19:17:41 · 301 阅读 · 0 评论