
数据结构
rUShUAn
啥都不会
展开
-
【数据结构】线性表、堆栈和队列的操作与实现
一、实验目的: 1、线性表的链表实现:遍历、查找、插入、删除、翻转 2、栈的链式存储结构实现:入栈、出栈 3、队列的链式存储结构的实现:入队、出队 4、线性表、栈和队列的应用实现 二、使用仪器、器材 微机一台 操作系统:WinXP 编程软件:C++ 三、实验内容及原理 实验内容: 1、单链表实验、实现单链表的基本功能 (1)实现链表结点的创建功能 (2)实现单链表的创建功能 (3)实现单链表的插入功能 (4)实现单链表的删除功能 (5)实验单链表某个数据的查找(成功或不成功,原创 2021-12-22 10:03:35 · 1253 阅读 · 0 评论 -
【数据结构】数据结构与算法综合实验
实验目的与要求 熟悉C/C++语言的集成开发环境; 通过本实验加深对分治法、贪心算法的理解。 实验内容: 掌握分治法、贪心算法的概念和基本思想,并结合具体的问题学习如何用相应策略进行求解的方法。 实验题 1. 【伪造硬币问题】给你一个装有n个硬币的袋子。n个硬币中有一个是伪造的。你的任务是找出这个伪造的硬币。为了帮助你完成这一任务,将提供一台可用来比较两组硬币重量的仪器,利用这台仪器,可以知道两组硬币的重量是否相同。试用分治法的思想写出解决问题的算法,并计算其时间复杂度。 #include...原创 2021-12-22 09:31:05 · 2049 阅读 · 0 评论 -
【数据结构】查找和排序算法实现
一、实验目的: 1、各种排序算法的实现 2、各种查找算法实现 二、使用仪器、器材 微机一台 操作系统:WinXP 编程软件:C++ 三、实验内容及原理 实验内容: 1、各种排序算法的实现 用随机函数生成16个2位正整数(10~99),实现插入排序、选择排序、冒泡排序、双向冒泡、快速排序、二路归并排序等多种排序算法,输出排序中间过程、统计关键字的比较次数和记录的移动次数。 各种查找算法实现 (1)顺序查找:使用数组或链表结构。用随机函数生成16个不重复的字母(’a’~’z’),键盘输入待原创 2021-12-09 14:18:41 · 2578 阅读 · 0 评论 -
【数据结构】图(邻接矩阵、遍历、最小生成树、最短路径)
1、图的邻接表和邻接矩阵存储 建立下图的邻接表或邻接矩阵,并输出之; 2、图的各种遍历算法实现 以0结点为起点实现上述图的深度优先和广度优先遍历算法; 3、最小生成树的算法实现 利用普里姆(Prim)算法或克鲁斯卡尔(Kruskal)算法求上图的最小生成树,算法实现代码必须有注释。 4、最短路径的算法实现 利用狄克斯特拉(Dijkstra)算法求上图中0结点到其它结点的最短路径,算法实现代码必须有注释。 #include<iostream> #include&l...原创 2021-11-08 21:42:11 · 880 阅读 · 0 评论 -
【数据结构】二叉树的多种功能(创建、求xx、遍历非递归、线索化遍历、哈夫曼树和编码)
1.利用二叉树字符串“A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建二叉树的二叉链式存储结构; 2.输出该二叉树; 3.输出‘H’节点的左、右孩子结点值; 4.输出该二叉树的结点个数、叶子结点个数、二叉树的度和高度; #include <iostream> using namespace std; int num=0; int lnum = 0; int wnum = 0; struct Node { char data; struct Nod原创 2021-10-18 17:47:30 · 500 阅读 · 0 评论 -
【数据结构】二叉树的代码实现
先序遍历:根→左→右 中序遍历:左→根→右 后序遍历:左→右→根 #include <iostream> using namespace std; struct Node { int data; struct Node* left; struct Node* right; }; void preorder(Node* node)//先序遍历 { if (node != NULL) { cout << node->data <<endl; .原创 2021-10-13 17:51:47 · 125 阅读 · 0 评论