数据结构与算法 图结构的操作

发布 2021-05-02 18:05:28 阅读 9249

《数据结构与算法分析》

课程实验报告。

实验目的】1. 理解图形结构的逻辑和存储特点。

2. 掌握图形结构遍历递归算法。

实验内容】1. 用邻接矩阵或者邻接表存储一个图形结构。

2. 采用深度或者广度优先搜索算法,遍历一个图,并输出遍历结果。

实验方式】个人实验。

实验设备与环境】

pc机,windows xp操作系统,vc++6.0开发环境。

数据结构及函数定义】

1)类的定义:类的数据成员,成员函数。

(2)主函数main() 实现初始化操作,完成对子函数的调用。

(3)子函数。

测试数据与实验结果】

请用截图的方式展示实验结果,并辅以必要的文字说明)源程序清单】

请附上源程序)

#include<>

#include<>

#include<>

#define max 100

struct node

char data;

int symbol;

struct node *next;

struct node a[max];

int search(char a,int m)int i,ans;

for(i=0;i}

return ans;}

int first_adj(struct node *head)int w;

head=head->next;

if(head==null)

w=head->data;

return w;

int next_adj(struct node *head,int w)

while(head->data!=w)

head=head->next;

head=head->next;

if(head==null)

w=-1;return w;}

else void output(struct node *head)

struct node *p;

int w;

printf("-c",head->data);

head->symbol=1;

w=first_adj(head);

while(w!=-1)

p=a+w;

if(p->symbol==0)

output(p);

w=next_adj(head,w);

w=head->data;

void main()

int m,n;//顶点数和边数。

int i;

char a,b;//一条边的两个顶点。

int c,d;

struct node *fresh,*head;

cout<<"输m和数n:";

cin>>m>>n;

for(i=0;i

head->next=fresh;

printf("该图的dfs遍历为:")

output(a);

cout<<"n";

数据结构与算法 树结构的操作

数据结构与算法分析 课程实验报告。实验目的 1.理解树形结构的逻辑和存储特点。2.掌握二叉树的遍历递归算法。实验内容 1.用递归算法实现二叉树的建立,并能输出遍历序列结果 先序 中序 后序任意一种即可 2.完成二叉树的应用 统计叶子结点数目,输出叶子结点,求二叉树深度,交换每个结点的左右子树。任选其...

数据结构与算法

本章知识要点 算法的基本概念 数据结构的定义 线性表的定义和存储 树 二叉树的定义和存储 查找与排序算法。算法 algorithm 是一组有穷的规则,规定了解决某一特定类型问题的一系列运算,是对解题方 与完整的描述。算法是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中...

算法与数据结构

学院专业姓名学号。实验1 线性表的操作 12学时 问题描述 假设一个班级内有n个学生,定义一个学生类和一个班级类。学生类中包括学号 姓名 性别 年龄 专业等属性 班级类包括一个学生对象链表。定义如下 class student class myclass student stu head 链表表头指...