![](https://img-blog.csdnimg.cn/20210917193510176.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
跟着数据结构教科书完成各个实验。
兄dei!
坚信泥沙也能堆出山川。
展开
-
数据结构实训作业——哈夫曼树(c语言)
目录一.概述二.构建哈夫曼树三.哈夫曼编码四.打印树形结构五.完整代码一.概述本系统主要功能主要有三:1.可将哈夫曼树的构建过程清楚地展现出来;2.可通过哈夫曼树的成功构建得到哈夫曼编码;3.可将哈夫曼树的树形结构清楚地展现出来;此处将权值序列{8 5 29 7 8 14 23 3 11}构建成哈夫曼树;输入各节点权值:先通过权值排序得到初态:开始构建哈夫曼树:此处省略若干步直接到完成状态......原创 2021-12-28 21:20:43 · 4072 阅读 · 1 评论 -
第四章——图(c语言描述)
无向图邻接矩阵以及邻接表的构建,深度优先搜索以及广度优先搜索。如图所示,左为邻接表,右边为图的表示。先写邻接矩阵,相对邻接表没那么复杂.int G[MAXSIZE][MAXSIZE];//全局变量初始化就都是0int N;//结点数int M;//边数直接定义为全局变量就行,用起来方便.最简单的邻接矩阵就是这样的二维矩阵了,如果想要给图的每个结点添加数据信息,那么就改成三维矩阵,第三个维度存放结点的数据信息.如果两结点之间有边的话,例如1结点和2结点直接有边(无向图),那.原创 2021-10-27 17:44:56 · 382 阅读 · 0 评论 -
哈夫曼树的构建(c语言描述)
哈夫曼树又称最优树,是一类带权路径长度最短的路。哈夫曼树结构:typedef struct Htree{ int data;//数据域,也可以不要,我这里是用来存放下标 int parent,lchild,rchild;//父亲下标,左右儿子下标 int weight;//权重}Htree;typedef struct{ Htree TData[MAXSIZE];//哈夫曼树 int size;//这是该树的大小,n*2 }HFMtree;思路:(我个.原创 2021-10-26 19:56:50 · 1437 阅读 · 1 评论 -
第三章——树(二叉树)
二叉树结构:typedef struct tree{ struct tree *left;//左儿子 struct tree *right;//右儿子 int data;//数据}TNode,*BTree;1.编写函数,输入序列,先序建立二叉树的二叉链表。2.编写函数,实现二叉树的先序、中序、后序、层序遍历操作。3.编写函数,求二叉树的结点个数。先序建立二叉树://先序创建二叉树void Create(BTree &T){ int num; sc.原创 2021-10-26 19:44:18 · 152 阅读 · 0 评论 -
第二章——堆栈、队列
再度回顾基础内容。为数据结构打下扎实基础。实验内容:1.编写函数,采用链式存储实现栈的初始化、入栈、出栈操作。2.编写函数,采用顺序存储实现栈的初始化、入栈、出栈操作。3.编写函数,采用链式存储实现队列的初始化、入队、出队操作。4.编写函数,采用顺序存储实现队列的初始化、入队、出队操作。堆栈:链式版的在入栈之前要先判断头指针是否为空,如果为空则创建一个链表,并且将尾指针和头指针指向同一个位置;若不为空则在表尾插入新数据,让尾指针更新位置即可;#includ.原创 2021-09-23 11:02:12 · 218 阅读 · 0 评论 -
第一章——线性表(顺序表和链表)
再度回顾基础内容。为数据结构打下扎实基础。实验内容:顺序表:建立一个顺序表,实现遍历,增删改查的操作。链表:建立一个单链表,使其有序完成遍历,增删改查的操作。顺序表的思路就不说了,无非就是数组;#include<stdio.h>#include<stdlib.h>#include<time.h>typedef struct node{ int MAX_SIZE;//最大容量 int *Data;//数组 int SIZE;//原创 2021-09-17 19:59:53 · 129 阅读 · 0 评论