
数据结构
呵,渣渣
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
构造哈夫曼树和哈夫曼编码的算法实现
1、实验内容: 统计下面一段英文的不同字符个数和每个字符的出现频率,利用统计数据构造构造哈夫曼树和哈夫曼编码 The Chinese official said he viewed the Trump Presidency not as an aberration but as the product of a failing political system. This jibes with o...原创 2020-01-09 18:50:44 · 2593 阅读 · 0 评论 -
各种查找算法实现
1、实验内容: (1)顺序查找:使用数组或链表结构。用随机函数生成16个不重复的字母(’a’~’z’),键盘输入待查找的字母,返回查找成功与否,若成功则返回该字母所在的位置(序号),并计算比较次数。 (2)折半查找:用数组实现,查找前元素先排序。计算比较次数。分别用查找成功、不成功进行测试。 2、实现代码: #include<iostream> #include<time.h&g...原创 2020-01-09 18:50:57 · 1511 阅读 · 0 评论 -
迷宫
1、#include “pch.h” #include #define N 6 using namespace std; typedef struct QNode { int x, y; struct QNode *next; }QNode, *QueuePtr; typedef struct { QueuePtr front; QueuePtr rear; }LinkQueue; int Map...原创 2020-01-09 18:51:45 · 211 阅读 · 0 评论 -
神秘国度
1、神秘国度 2、实现代码 #include "pch.h" //神秘国度的爱情故事 #include <iostream> using namespace std; #define MVNum 50000 //最大顶点数 typedef int VerTexType; //假设顶点的数据类型为字符型 typedef int ArcType; ...原创 2020-01-09 18:52:12 · 429 阅读 · 0 评论 -
各种排序算法的实现
1、实验内容: 用随机函数生成16个2位正整数(10~99),实现插入排序、选择排序、冒泡排序、双向冒泡、快速排序、二路归并排序等多种排序算法,输出排序中间过程、统计关键字的比较次数和记录的移动次数。 2、实现代码: ...原创 2020-01-09 18:51:08 · 1607 阅读 · 1 评论 -
最短路径的算法实现
1、实验内容: 利用狄克斯特拉(Dijkstra)算法求上图中0结点到其它结点的最短路径,算法实现代码必须有注释。 2、实现代码: #include<iostream> using namespace std; #define MVNum 100 //最大顶点数 #define MaxInt 32767 //表示极大值,即∞ //利...原创 2020-01-09 18:52:46 · 635 阅读 · 0 评论 -
最小生成树的算法实现
1、实验内容: 利用普里姆(Prim)算法或克鲁斯卡尔(Kruskal)算法求上图的最小生成树,算法实现代码必须有注释。 2、实现代码: #include<iostream> using namespace std; //最小生成树的算法实现 //利用普里姆(Prim)算法或克鲁斯卡尔(Kruskal)算法求上图的最小生成树,算法实现代码必须有注释。 #define MVNum 100...原创 2020-01-09 18:52:58 · 395 阅读 · 0 评论 -
图的邻接表
1、实验内容: 建立下图的邻接表或邻接矩阵,并输出之; 2、实现代码: #include<iostream> using namespace std; //建立下图的邻接表或邻接矩阵,并输出之; #define MVNum 100 //最大顶点数 //图的邻接矩阵 typedef struct { char vexs[MVNum]; ...原创 2020-01-09 18:52:33 · 1030 阅读 · 1 评论 -
线索二叉树的遍历
1、实验内容: 中序线索化上述二叉树并找出根结点的前驱和后继。 2、实现代码: #include <iostream> using namespace std; typedef int Status; #define OK 1 #define MAXSIZE 200 //定义二叉树结构 typedef struct Node { char data; struct Node *l...原创 2020-01-09 18:53:11 · 467 阅读 · 0 评论 -
二叉树的各种遍历算法实现
1、实验内容 实现二叉树的先序、中序和后序遍历的递归和非递归算法 依据这个视频写出后序非递归算法 2、代码实现: #include <iostream> using namespace std; typedef int Status; #define OK 1 #define MAXSIZE 200 //1. 二叉树的基本操作算法实现 //(1)利用二叉树字符串“A(B(D, E(H(...原创 2020-01-09 18:53:31 · 2721 阅读 · 2 评论 -
二叉树的基本操作算法实现
1、实验内容: (1)利用二叉树字符串“A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建二叉树的二叉链式存储结构; (2)输出该二叉树; (3)输出‘H’节点的左、右孩子结点值; (4)输出该二叉树的结点个数、叶子结点个数、二叉树的度和高度; 2、实现代码: #include <iostream> using namespace std; typedef...原创 2020-01-09 18:53:52 · 3316 阅读 · 0 评论 -
线性表、栈和队列的应用实现(2)
1、实验内容: 假设一个字符串中可以包含三种括号:( )[ ]{},且这三种括号可以按任意次序嵌套使用(如:“…[…{…}…[…]…]…(…)” 为合法嵌套,“…[…{… )…[…]…]…(…)”为不合法嵌套)。编写判别给定表达式中所含括号是否正确配对出现的算法,如果是合法嵌套则返回为true,如果是不符合法嵌套则返回为false。 2、实现代码: #include <iostream>...原创 2020-01-09 18:50:34 · 304 阅读 · 0 评论 -
线性表、栈和队列的应用实现(1)
1、实验内容: 用随机函数生成10个3位整数(100~999),把这些整数存于单链表中,然后读入一个整数,以该值为基准把单链表分割为两部分,所有小于该值的结点排在大于或等于该值的结点之前。 2、实现代码: #include "pch.h" #include <iostream> #include<time.h> using namespace std; //用随机函数生成1...原创 2020-01-09 18:51:39 · 839 阅读 · 0 评论 -
队列的链式存储结构的实现:入队、出队
1、实验内容: (1)用随机函数生成10个3位整数(100~999),把这些整数应用入队操作存于队列中; (2)应用遍历操作输出队列的内容; (3)把队列的内容翻转,应用出队操作输出队列的内容。 2、代码实现: #include <iostream> #include<time.h> using namespace std; #define OK 1; #define ER...原创 2020-01-09 18:50:19 · 1665 阅读 · 0 评论 -
栈的链式存储结构实现:入栈、出栈
1、实验内容: (1)用随机函数生成10个3位整数(100~999),把这些整数应用入栈操作存于堆栈中,在入栈接口处设置断点①,按“F5”启动调试,按“F10”逐句执行,直到数据全部入栈。程序暂停时观察栈顶数据和栈顶位置; (2)应用出栈操作输出堆栈的内容,在出栈接口处设置断点②,按“F5”启动调试,按“F10”逐句执行,直到所有数据完全出栈,程序暂停时观察栈顶数据和栈顶位置的变化; 2、代码实现...原创 2020-01-09 18:49:27 · 1478 阅读 · 0 评论 -
线性表的链表实现:遍历、查找、插入、删除、翻转
1、实验内容: (1)用随机函数生成10个3位整数(100~999),把这些整数存于链表中; (2)输出链表的内容; (3)读入一个整数,查看该整数是否在表中,若在,输出其位置(首位置为1); (4)读入一个整数,以及要插入的位置,把该整数插入到链表中,输出链表的内容(要求判断输入的位置是否合理); (5)读入一个整数,若该整数在链表里,删除该整数,输出链表的内容; (6)把链表的内容翻转,输出链...原创 2019-12-06 11:28:51 · 824 阅读 · 0 评论