
数据结构
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 · 1929 阅读 · 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 · 108 阅读 · 0 评论 -
栈的应用--迷宫求解
栈的应用–迷宫求解思路: 从一个起点(1,1)坐标开始, 依次判断它的右,下,左,上, 方位能不能走 如果能就直接走, 每走一步将这个位置的坐标入栈,并且标记为2, 若都不能走, 说明走到死路了, 要开始回溯,走过没有走过标记为3 回溯时就是把入栈的坐标出栈, 即可原路返回,每返回一步就重新再判断它的 右,下,左,上, 能不能走,直到找到终点(8,8)坐标,否则没有通路#include <stdio.h>#include <stdlib.h>#include &l原创 2021-05-29 16:09:42 · 3419 阅读 · 2 评论 -
数据结构串的基本操作
数据结构串的堆分配的基本操作函数//初始化字符串Status InitString(HString *T)//生成一个其值等于串常量 chars 的字符串 TStatus 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 · 1651 阅读 · 0 评论 -
数据结构-链队列-基本操作
数据结构-链队列-基本操作队列定义: 只能在表的一段进行插入操作,在表的另一端进行删除操作的线性表。逻辑结构: 与线性表相同,任然为一对一关系。运算规则: 只能在对尾或者对手进行运算,且访问节点是依照先进先出的规则。基本操作:Status InitQueue(LinkQueue &Q)//构造一个空的队列void OutputQueue(LinkQueue &Q)//输出队列中的数据元素Status EnQueue(LinkQueue &Q,QElemType e)//原创 2021-04-08 19:17:41 · 348 阅读 · 0 评论