数据结构
文章平均质量分 70
仁者乐山智者乐水
这个作者很懒,什么都没留下…
展开
-
深度优先搜索算法及应用(java实现)
一、算法描述只需用一个递归方法来遍历所有顶点。在访问其中一个顶点时: 将它标记为已访问; 递归地访问它的所有没有被标记过的邻居顶点。 这种方法称为深度优先搜索( DFS)。可以使用一个 boolean 数组每个顶点是否被访问过。递归方法会标记给定的顶点并调用自己来访问该顶点的相邻顶点列表中所有没有被标记过的顶点。如果图是连通的,每个邻接链表中的元素都会被检查到。二、api定义 DepthFirstSearch private Graph grap...原创 2021-01-24 11:39:29 · 1348 阅读 · 0 评论 -
排序(快速排序、shell排序、树形选择排序、堆排序、链式基数排序)(C++实现)
一、实验要求(1) 采用不同实验数据来观察快速排序的实验中比较和交换元素的次数,并分析数据的规模和初始特性与比较与交换次数之间的函数关系。测试数据要求:至少5组以上;每组数据规模不小于100。(2) 完成下面功能:将一个整型数组调整为这样的数组:所有3的倍数在最左边,所有除以3余1的数在中间,而所有除以3余2的数在最右边。要求算法的时间尽可能少。测试数据:数组元素分别为:...原创 2019-04-07 15:55:16 · 2508 阅读 · 3 评论 -
图(邻接矩阵实现)(C++实现)
一、实验要求 设计图(网)的邻接矩阵,编写算法实现下列问题的求解。1.打印出图(网)的两种遍历序。实验测试数据基本要求:第一组数据: udg8.grp第二组数据: udg115.grp第三组数据: dg6.grp2.求给定图中的边(或弧)的数目。 实验测试数据基本要求:第一组数据: udg8.grp第二组数据: udg115.grp3....原创 2019-04-07 15:42:17 · 5157 阅读 · 2 评论 -
树与森林(C++实现)
一、实验要求 (1)按先序、后序、层次遍历森林。 (2)求森林的高度。 (3)求森林结点总数。 (4)求森林叶子结点数。 (5)求森林的度。 (6)先序输出结点值及其层次号。 (7)输出广义表表示的树。二、数据结构设计typedef char elementType;typedef struct csNode{ element...原创 2019-04-07 15:18:03 · 7500 阅读 · 5 评论 -
二叉树(C++模板实现)
一、实验要求 <1>打印出二叉树的三种遍历序。 <2>设计算法按中序次序输出二叉树中各结点的值及其所对应的层次数。 <3>求二叉树的高度。 <4>求二叉树的结点数。 <5>求二叉树的叶子结点数。 <6>求二叉树的度为2的结点数。 <7>键盘输入一个...原创 2019-04-07 15:06:25 · 5049 阅读 · 1 评论 -
循环顺序队列(C++模板实现)
一、实验要求<1>初始化一个队列。<2>判断是否队空。<3>判断是否队满。<4>入队<5>出队<6>取队头元素<7>求当前队列中元素个数<8>编写算法实现 ①初始化空循环队列; ②当键盘输入奇数时,此奇数入队; ③当键盘输入偶数时,队头出队;...原创 2019-04-07 14:53:28 · 1523 阅读 · 0 评论 -
链队列(C++ )
一、实验要求<1>初始化一个队列。<2>判断是否队空。<3>入队<4>出队<5>取队头元素<6>求当前队列中元素个数<7>编写算法实现 ①初始化空循环队列; ②当键盘输入奇数时,此奇数入队; ③当键盘输入偶数时,队头出队; ④当键盘输入0时,算法退...原创 2019-04-07 14:48:33 · 1343 阅读 · 0 评论 -
链栈(C++模板实现)
一、实验要求本次实验中的链栈结构指带头结点的单链表; 链栈结构和运算定义,算法的实现以库文件方式实现,不得在测试主程序中直接实现; 实验程序有较好可读性,各运算和变量的命名直观易懂,符合软件工程要求;二、数据结构设计template<class ElementType>struct Node{ ElementType data; //数...原创 2019-04-07 14:43:19 · 899 阅读 · 0 评论 -
顺序栈(C++模板实现)
一、实验要求顺序栈结构和运算定义,算法的实现以库文件方式实现,不得在测试主程序中直接实现; 程序有适当的注释。 实验程序有较好可读性,各运算和变量的命名直观易懂,符合软件工程要求;二、数据结构设计template<class ElementType>class Stack{public : Stack(); //初始化栈...原创 2019-04-07 14:34:22 · 806 阅读 · 0 评论 -
单链表(C++实现)
一、实验要求(1).尾插法创建单链表,打印创建结果。(2).头插法创建单链表,打印创建结果。(3).销毁单链表。(4).求链表长度。(5).求单链表中第i个元素(函数),若不存在,报错。(6).在第i个结点前插入值为x的结点。(7).链表中查找元素值为x的结点,成功返回结点指针,失败报错。(8).删除单链表中第i个元素结点。(9).在一个递增有序的单链表L中插...原创 2019-04-07 14:24:37 · 3963 阅读 · 5 评论 -
顺序表(C++实现)
一、实现要求(1)求顺序表中第i个元素(函数),若不存在,报错。(2)在第i个结点前插入值为x的结点。(3)删除顺序表中第i个元素结点。(4)在一个递增有序的顺序表L中插入一个值为x的元素,并保持其递增有序特性。(5)将顺序表L中的奇数项和偶数项结点分解开(元素值为奇数、偶数),分别放入新的顺序表中,然后原表和新表元素同时输出到屏幕上,以便对照求解结果。(6)求两个递增有序...原创 2019-04-07 14:15:02 · 17585 阅读 · 4 评论 -
平衡二叉树(C++实现)
二叉树实现插入、查询、删除功能原创 2018-11-04 21:59:32 · 8488 阅读 · 8 评论