![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构作业
时崎绫
这个作者很懒,什么都没留下…
展开
-
八皇后问题
该问题是国际西洋棋棋手马克斯•贝瑟尔于1848年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。在蛮干的基础上可以增加回溯,可以采用逐步试探的方式,先从一个方向往前走,能进则进,不能进则退,尝试另外的路径。我们可以将棋盘看作是一个8✘8的数组,这样可以使用一种蛮干的思路去解决这个问题,这样我们就是在8✘8=64个格子中取出8个的组合,C(64,80) = 4426165368,显然这个数非常大。1)x = row;原创 2023-03-05 16:13:41 · 192 阅读 · 0 评论 -
拓扑排序问题
拓扑排序问题大学里,学生需要修完培养计划中的所有课程,才能毕业取得学位。例如计算机专业的学生要学习一系列课程,其中有些课程必须在其先修课程完成后才能学习,具体教学计划如下所示。课程编号 课程名称 先修课程假设每门课程的学习时间为一学期,试为计算机专业的学生设计课程的学习计划,使他们能在最短的时间内修完这些课程。设计算法求出每个学期的课程安排。(1)用顶点表示课程,弧表示先决条件,则课程关系可用一有向无环图表示。(2)基于邻接表存储结构实现。(3)输出每学期的课程安排。(4)在主函数中调用菜单函转载 2021-06-14 23:10:07 · 485 阅读 · 0 评论 -
基于邻接表存储有向图的深度优先遍历
基于邻接表存储有向图的深度优先遍历试编写程序,以邻接表位存储结构实现无向图的广度优先遍历操作。(1)以图的邻接表表示为存储结构建立有向图。(2)编写有向图的深度优先遍历函数。(3)以用户指定的顶点为起点,输出顶点的深度优先访问序列。(4)在主函数中调用菜单函数调试程序。代码如下:#include<stdio.h>#include<stdlib.h>#define MAXSIZE 30typedef struct ArcNode{ int adjvex转载 2021-06-14 23:06:46 · 3878 阅读 · 1 评论 -
中序线索树的遍历
中序线索树的遍历问题描述:参照教材中中序线索树的遍历,分别定义求遍历的第一个结点,遍历后继结点两个函数,再构造完成整个遍历的函数。基本要求及提示:(1)编写二叉链表方式存储的二叉树建立函数;(2)编写加中序线索函数;(3)编写求中序遍历的第一个结点函数;(4)编写求在中序线索树上结点的直接后继结点函数;(5)编写完成中序遍历的函数。参考算法6.15-6.17.(6)要求程序通过一个主菜单进行控制,通过选择菜单项序号调用各功能函数。代码如下:#include <stdio.h>转载 2021-05-29 22:30:40 · 846 阅读 · 1 评论 -
在先序线索树中查找后继结点
在先序线索树中查找后继结点在先序线索二叉树T中,查找给定结点在先序序列中的后继。(1)编写二叉链表方式存储的二叉树建立函数;(2)编写在二叉树上加先序线索函数;(3)编写求后继结点函数;参考下面代码段BiTNode PreNext(BiTNode p){ BiTNode next=NULL;if(p->Ltag==0) next=p->Lchild; else next=p->Rchild;return next;}4)要求程序通过一个主菜单进行控制,通过选择菜单项转载 2021-05-19 19:40:29 · 4265 阅读 · 3 评论 -
显示二叉树
显示二叉树问题描述:函数DisplayTree()输出二叉树的直观示意图。传递给DisplayTree()的参数有树根、所有数据值的最大宽度dataWidth以及屏幕的宽度screenWidth。基本要求及提示:宽度参数使我们能对屏幕输出进行安排。假设dataWidth是2。而screenWidth为64=2的6次幂。宽度为2的幂使得我们可以逐层对数据的组织进行描述。因为不能确定树的结构,所以假定屏幕空间可以容纳完全二叉树。假设结点实在坐标(level,indentedSpace)处画出。第转载 2021-05-19 19:19:55 · 673 阅读 · 0 评论