
-----数据结构-----
文章平均质量分 61
Chen_yuazzy
The best way to predict the future is to create it.
预测未来的最好办法是去创造它。
---Alan Kay
展开
-
【数据结构】堆串的连接,替换,插入操作
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h> typedef char Elemtype;typedef int Datatype;typedef struct { Elemtype *ch; //指针域,指向存放串值的存储空间基址...原创 2017-04-14 23:37:22 · 3487 阅读 · 0 评论 -
【数据结构】哈夫曼树及哈夫曼编码译码
一.原理:1.哈夫曼树:给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树共有2*n-1个结点(性质)。2.哈夫曼树构建:选取权值最小的两个值,将其作为新树的左右子树,且新树的根结点权值为其左右子树根节点权值之和。删除上两棵树,将新树加入森林二.思路:...原创 2017-06-21 23:32:58 · 6186 阅读 · 0 评论 -
【数据结构】迷宫问题求解(链栈,DFS)
1.问题描述:以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。2.基本要求:(1)首先实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出。其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。(2)编写递归形式的算法...原创 2017-06-21 23:42:42 · 11412 阅读 · 6 评论 -
【数据结构】DFS深度优先搜索(分别使用邻接矩阵、邻接表)
一、邻接矩阵 图的邻接矩阵存储方式是用两个数组表示图,顶点数组(一维数组)存储顶点信息,边数组(二维数组)存储图中的边或弧的信息。(图片来自于百度百科) 如果存在边,则数组元素置为1,若无边,则数组元素为0。 若为无向图,则矩阵对称,若为有向图,则不一定对称。但无论是有向图还是无向图,矩阵主对角线上的值都为0。二、邻接表 可以看出,...原创 2017-06-23 11:07:14 · 2154 阅读 · 1 评论 -
【数据结构】通讯录查询系统的设计与实现(散列表(哈希表))
1.问题描述:为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的电话与地址。设计散列表存储,设计并实现通讯录查找系统。2.基本要求(1)每个记录有下列数据项:电话号码、用户名、地址;(2)从键盘输入各记录,分别以电话号码为关键字建立散列表;(3)采用二次探测再散列法解决冲突;(4)查找并显示给定电话号码的记录;(5)通讯录信息文件保存。3 ....原创 2017-06-26 21:14:11 · 23500 阅读 · 7 评论 -
【数据结构】旅游景点咨询系统的设计与实现(图,DFS,迪杰斯特拉算法)
1.问题描述:创建一个至少有15个点的有向网表示的某个旅游景点的导游图。顶点代表景点,类型为字符串(例如,泰山导游图:“天地广场门”,“十八盘”,“冯玉祥墓”,“桃花峪门”,“中天门”,“南天门”,“玉皇顶”等),弧表示两个景点之间可以直达,弧上的权值表示两个景点之间的路程(公里数),弧上还有到达方法的信息(有步行和索道两种)。建立一个游客咨询系统。2.基本要求(1)创建图的存储结构。...原创 2017-07-01 22:35:29 · 5499 阅读 · 2 评论 -
【数据结构】链表的实现(带头节点)
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列节点组成,每个结点包括数据域和指针域。 此处是带头结点的链表。结点结构体定义typedef struct Linklist{ int data;//将int改为任何类型都可 struct Linklist *next;}LL;链表的建立 头插法LL *he原创 2017-07-28 18:16:54 · 612 阅读 · 0 评论 -
【数据结构】单向循环链表实现
#include<stdio.h>#include<time.h>#include<stdlib.h> typedef struct Linklist{ int data; struct Linklist *next;}LL;LL *create1_list(int n);//尾插法创建单向循环链表void print_list(LL *p);...原创 2017-07-28 18:19:01 · 451 阅读 · 0 评论 -
【数据结构】双向链表实现
代码实现:#include<stdio.h>#include<math.h>#include<stdlib.h>#include<time.h>#define Elemtype inttypedef struct D_linklist{ Elemtype data; struct D_linklist *front,*nex...原创 2017-07-28 18:23:28 · 589 阅读 · 0 评论