数据结构
数据结构
好先生·
这个作者很懒,什么都没留下…
展开
-
《考研数据结构-插入排序》
插入排序有三种算法1.直接插入排序算法的思想比较简单,比如待排序序列 {5,4,6,2} ,进行从小到大排序,则从第一个元素开始,与其之前所有的元素进行比较第一个5之前没有则还是 {5,4,6,2}第二个4与5比较进行交换位置 {4,5,6,2}第三个6与5比较,大于后不再进行比较,因为5之前已经有序(请注意思考为什么) 序列不 变{4,5,6,2}第四个2需要与6,5,4都要比较 {2,4,5,6}**对于刚才的提问,可以设想下一个待比较元素之前的元素都是有序的,所以只有更小原创 2021-08-31 21:01:23 · 101 阅读 · 0 评论 -
《考研-数据结构-哈弗曼树-已知某段通信报文内容,对该报文进行哈弗曼编码,并计算平均码长》
题目描述已知某段通信报文内容,对该报文进行哈弗曼编码,并计算平均码长。(1)统计报文中各字符出现的频度。(字符集范围为52个英文字母,空格,英文句号。报文长度<=200)(2)构造一棵哈弗曼树,依次给出各字符编码结果。(3)给字符串进行编码。(4)给编码串进行译码。(5)计算平均码长。规定:(1)结点统计:以ASCII码的顺序依次排列,例如:空格,英文句号,大写字母,小写字母。(2)构建哈弗曼树时:左子树根结点权值小于等于右子树根结点权值。(3)选择的根节点权值相同时,前者构建为双原创 2021-08-08 16:00:28 · 1491 阅读 · 0 评论 -
《考研-数据结构-哈弗曼树-假设某通信报文的字符集由..》
题目描述假设某通信报文的字符集由A,B,C,D,E,F这6个字符组成,它们在报文中出现的频度(频度均为整数值)。(1)构造一棵哈弗曼树,依次给出各字符编码结果。(2)给字符串进行编码。(3)给编码串进行译码。规定:构建哈弗曼树时:左子树根结点权值小于等于右子树根结点权值。生成编码时:左分支标0,右分支标1。输入第一行:依次输入6个整数,依次代表A,B,C,D,E,F的频度,用空格隔开。第二行:待编码的字符串第三行:待译码的编码串输出前6行依次输出各个字符及其对应编码,格式为【字符:原创 2021-08-08 15:58:29 · 1753 阅读 · 1 评论 -
哈夫曼树的应用-哈夫曼编码>
#include<stdio.h>#include<string.h>#include<stdlib.h>//树结点定义typedef struct { int weight; int parent; int lchild; int rchild;}HTNode,*HuffmanTree;static char N[100];//用于保存正文//哈弗曼编码,char型二级指针typedef char **Huffma原创 2020-11-26 13:20:06 · 282 阅读 · 0 评论 -
《C语言-数据结构篇章》-哈夫曼编码-寻找最小2个下标问题》
最近在设计哈曼编码的时候遇到了一些关于每次寻找最小权值下标的问题。经过不断的调试和总结总结出了两种方法。第一种:每次选择一个void look_two_one(){ int l[10]={1,2,3,4,3,2,1}; int m1=max; int i,j; for(int x=0;l[x];x++) { if(m1>l[x]) { ...原创 2020-01-01 21:31:31 · 456 阅读 · 0 评论 -
《C语言-数据结构篇章》-排序算法分析》
0、排序算法说明0.1 排序的定义对一序列对象根据某个关键字进行排序。0.2 术语说明稳定 :如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定 :如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;内排序 :所有排序操作都在内存中完成;外排序 :由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行...转载 2019-12-26 21:43:41 · 118 阅读 · 0 评论 -
《C语言-数据结构篇章》-图的拓扑排序》
**首先我们来解释一下拓扑的含义,所谓“拓扑”就是把实体抽象成与其大小、形状无关的“点”,而把连接实体的线路抽象成“线”,进而以图的形式来表示这些点与线之间关系的方法,其目的在于研究这些点、线之间的相连关系。表示点和线之间关系的图被称为拓扑结构图。拓扑结构与几何结构属于两个不同的数学概念。在几何结构中,我们要考察的是点、线之间的位置关系,或者说几何结构强调的是点与线所构成的形状及大小。如梯形、...原创 2019-12-02 22:42:41 · 280 阅读 · 0 评论 -
《C语言-数据结构篇章》-图的邻接表建立》
相信读者应该在书中也看到了邻接表表示的示意图了 在使用结构体是要注意命名的可读性和易读性typedef struct graphy//用来表示网的关系{ int node_position;//结点下表位置 short int weight;//结点权值 struct graphy *next;//连接通向的下一个结点}graphy;typedef struct message...原创 2019-11-22 21:25:12 · 160 阅读 · 0 评论 -
《C语言-数据结构篇章》-求连通图的分量》
无向图的的连通分量较为简单,只需要在深度优先遍历的时候,作一个记录就行。深度搜索算法,就是利用递归的性质来做的。void dfs(graphy *gra)//递归遍历{ int k=0; for(int i=1;i<=gra->node_number;i++) { if(visted[i-1]==0)//用来判断是否已经访问过了 ...原创 2019-11-22 21:01:16 · 1204 阅读 · 0 评论