陈村网站设计福州专业网站建设

news/2025/9/27 20:10:28/文章来源:
陈村网站设计,福州专业网站建设,什么是网络营销策略,孝感网站建设xgsh广州大学学生实验报告 开课实验室#xff1a;计算机科学与工程实验#xff08;电子楼418A#xff09; 2019年4月19日 学院 计算机科学与教育软件学院 年级、专业、班 计算机科学与技术 姓名 学号 实验课程名称 数据结构实验 成绩 实验项目名称 实验三…广州大学学生实验报告 开课实验室计算机科学与工程实验电子楼418A     2019年4月19日 学院 计算机科学与教育软件学院 年级、专业、班 计算机科学与技术 姓名   学号   实验课程名称 数据结构实验 成绩   实验项目名称 实验三 树的的遍历生成树 指导老师 玲 一、实验目的 1、把图转化为程序能识别的邻接矩阵 2、理解图的遍历方法及对应的生成树。 二、使用仪器、器材 微机一台 操作系统Win10 编程软件C 三、实验内容及原理 1图的输入邻接矩阵直接写入源程序或键盘输入或读入数据文件 起始结点的输入运行时由键盘输入 输出生成树的边用结点的序偶表示   实验过程原始数据记录GRAPH.H #pragma once //图的邻接表存储结构 #define INF 32767              //定义∞ #define  MAXV 100              //最大顶点个数 #define  MAX 100                   //最大全局数组 #define MaxSize 100 typedef char InfoType; typedef int ElemType; typedef struct ANode {     int adjvex;     struct ANode *nextarc;     int weight; }ArcNode; typedef struct Vnode {     char info;     ArcNode *firstarc; }VNode; typedef struct {     VNode adjlist[MAXV];     int n, e; }AdjGraph; //环形队列 typedef struct {     ElemType data[MaxSize];     int front, rear;      //队首和队尾指针 } SqQueue;   void CreateAdj(AdjGraph* G, int A[MAXV][MAXV], int n, int e);//创建图的邻接表 void DispAdj(AdjGraph*G);//输出邻接表 void DestroyAdj(AdjGraph *G);//销毁邻接表 void DFS(AdjGraph* G, int v);//深度优先遍历生成树   //--------------------------------------------------------- //--广度优先遍历中使用队列的基本运算算法------------------- //--------------------------------------------------------- void InitQueue(SqQueue *q); void DestroyQueue(SqQueue *q); bool QueueEmpty(SqQueue *q); bool enQueue(SqQueue *q, ElemType e);//进栈 bool deQueue(SqQueue *q, ElemType e); //---------------------------------------------------------   void BFS(AdjGraph *G, int v);//广度优先遍历生成树 GRAPH.CPP #includepch.h #include graph.h #includemalloc.h #includeiostream using namespace std;   void CreateAdj(AdjGraph * G, int A[MAXV][MAXV], int n, int e)     {          int i, j; ArcNode *p;            for (i 0; i n; i)      //给邻接表中所有头节点指针置初值          {              G-adjlist[i].firstarc NULL;          }          for (i 0; i n; i)      //检查邻接矩阵每个元素          {              for (j n - 1; j 0; j--)              {                   if (A[i][j] ! 0 A[i][j] ! INF)   //存在一条边                   {                       p (ArcNode*)malloc(sizeof(ArcNode));  //创建一个结点p                       p-adjvex j;   //   存放邻接点                       p-weight A[i][j];   //存放权                       p-nextarc G-adjlist[i].firstarc;   //头插法                       G-adjlist[i].firstarc p;                   }              }          }          G-n n; G-e e; }   void DispAdj(AdjGraph * G) {     int i;     ArcNode *p;     for (i 0; i G-n; i)     {          p G-adjlist[i].firstarc;          printf(%3d: , i);          while (p ! NULL)          {              printf(%3d[%d]→, p-adjvex, p-weight);              p p-nextarc;          }          printf(∧\n);     } }   void DestroyAdj(AdjGraph * G) {     int i;     ArcNode *pre, *p;     for (i 0; i G-n; i)         //扫描所有的单链表     {          pre G-adjlist[i].firstarc;  //p指向第i个单链表的首结点          if (pre ! NULL)          {              p pre-nextarc;              while (p ! NULL)         //释放第i个单链表的所有边结点              {                   free(pre);                   pre p; p p-nextarc;              }              free(pre);          }     }     free(G);                       //释放头结点数组 }   int  visited[MAX] { 0 }; void DFS(AdjGraph* G, int v)   //深度优先遍历 {     ArcNode*p;     visited[v] 1;   //置已访问标记     //cout v endl;  //输出被访问顶点的编号     p G-adjlist[v].firstarc;  //p指向顶点v的第一个邻接点     while (p ! NULL)     {          if (visited[p-adjvex] 0)          {              cout ( v , p-adjvex ) endl;              DFS(G, p-adjvex);          }          p p-nextarc;   //p指向顶点v的下一个邻接点     } }   void InitQueue(SqQueue * q) {     q (SqQueue *)malloc(sizeof(SqQueue));     q-front q-rear 0; }   void DestroyQueue(SqQueue * q) {     free(q); }   bool QueueEmpty(SqQueue * q) {     return(q-front q-rear); }   bool enQueue(SqQueue * q, ElemType e) {     if ((q-rear 1) % MaxSize q-front)    //队满上溢出          return false;     q-rear (q-rear 1) % MaxSize;     q-data[q-rear] e;     return true; }   bool deQueue(SqQueue * q, ElemType e) {     if (q-front q-rear)                //队空下溢出          return false;     q-front (q-front 1) % MaxSize;     e q-data[q-front];     return true; }   void BFS(AdjGraph * G, int v)  //广度优先遍历 {     int w, i;     ArcNode *p;     SqQueue *qu;                            //定义环形队列指针     InitQueue(qu);                              //初始化队列     int visited[MAXV];                      //定义顶点访问标志数组     for (i 0; i G-n; i) visited[i] 0;       //访问标志数组初始化     //printf(%2d , v);                        //输出被访问顶点的编号     visited[v] 1;                             //置已访问标记     enQueue(qu, v);     while (!QueueEmpty(qu))                 //队不空循环     {          deQueue(qu, w);                         //出队一个顶点w          p G-adjlist[w].firstarc;             //指向w的第一个邻接点         while (p ! NULL)                       //查找w的所有邻接点          {              if (visited[p-adjvex] 0)       //若当前邻接点未被访问              {                   cout ( w , p-adjvex ) endl;                   //printf(%2d , p-adjvex);  //访问该邻接点                   visited[p-adjvex] 1;        //置已访问标记                   enQueue(qu, p-adjvex);        //该顶点进队              }              p p-nextarc;                    //找下一个邻接点          }     }     printf(\n); }   MAIN.CPP   #include pch.h #include iostream #includegraph.h using namespace std;   int main() {     AdjGraph *Gnew AdjGraph;     int A[MAXV][MAXV] { {0,1,1,1,0,0,0,0,0,0,0},{1,0,0,0,1,1,0,0,0,0,0},                            {1,0,0,1,0,1,1,0,0,0,0},{1,0,1,0,0,0,0,1,0,0,0},                           {0,1,0,0,0,0,0,0,0,0,0},{0,1,1,0,0,0,0,0,0,0,0},                           {0,0,1,0,0,0,0,1,1,1,0},{0,0,0,1,0,0,1,0,0,0,1},                           {0,0,0,0,0,0,1,0,0,0,0},{0,0,0,0,0,0,1,0,0,0,0},                           {0,0,0,0,0,0,0,1,0,0,0} }     ;     int n 11, e 12;     CreateAdj(G, A, n, e);         //建立《教程》中图8.1(a)的邻接表     //printf(图G的邻接表:\n);     //DispAdj(G);                  //输出邻接表G     cout 请输入起始结点 endl;     int a;     cin a;     printf(深度优先序列(递归)生成树:); printf(\n); DFS(G, a); printf(\n);     printf(广度优先序列生成树:); printf(\n); BFS(G, a); printf(\n);     DestroyAdj(G);                 //销毁邻接表     return 1; }   五、实验结果及分析 从3出发分别进行深度优先生成树和广度优先生成树。 从0出发分别进行深度优先生成树和广度优先生成树。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百度推广做网站什么价位网吧网络维护公司

Java Collections框架 Java Collections框架中包含了大量的集合接口以及这些接口的实现类和操作它们的方法,具体包含了Set(集合)、List(列表)、Map(键值对)、Queue(队列)、Stack(栈)等,其中List、Set、Queue、Stack都继承了Collection接口。…

luogu P1719 最大加权矩形

题目大意 需要支持在一个序列中插入等差数列 需要插入\(O(1)\) 最终统计答案\(O(n)\) \(1\leq n\leq 1e7\) Sol 对于一个序列如下:0 0 4 6 8 10 12 0 0我们将其进行一次差分,可以得到:0 0 4 2 2 2 2 -12 0可以发现中间…

CF2065D Skibidus and Sigma

参考代码:#include<bits/stdc++.h> #define ll long long using namespace std; const int N = 2e5 + 10,inf = 0x3f3f3f3f; struct node{ll sum,id; }; node t[N]; vector<ll> a[N]; ll n,m; bool cmp(n…

做网站优化需要做什么vi设计要素

B. I Hate 1111&#xff1a;题目 这题目太搞了呀&#xff0c;和dp感觉关系不大&#xff0c;数学题啊首先要知道&#xff0c;11和111能构成后面所有的棍子数。 n a*111b*11;最快做法 //算是规律&#xff1f; #include <bits/stdc.h> using namespace std; int main() {…

建网站哪便宜网上商城网站建设规划

整理了基于BP神经网络的时间序列预测模型matlab代码&#xff0c;包含数据集。采用了四个评价指标R2、MAE、MBE、MAPE对模型的进行评价。BP模型在数据集上表现优异。 代码获取链接&#xff1a;基于BP神经网络的时间序列预测模型matlab代码 训练效果&#xff1a; 训练集数据的R…

微信二次开发个人号api

微信二次开发个人号api 个人微信机器人开发api接口,微信个人号开发API在线接待更高效在线沟通更快速、更有趣 语音回复 通过电脑端语音回复客户,提高效率 文件传输 支持文字、图片、视频等文件上传 快捷回复 公共快捷…

深入解析:神经网络二分类任务详解:前向传播与反向传播的数学计算

深入解析:神经网络二分类任务详解:前向传播与反向传播的数学计算pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

课后作业2(动手动脑,课后实验性问题)

1.仔细阅读示例: EnumTest.java,运行它,分析运行结果? 你能得到什么结论?你掌握了枚举类型的基本用法了吗? 枚举是类型安全的常量集合,比 static final int 更安全。 可以使用 switch 语句处理枚举值。 每个枚举…

从零开始构建图注意力网络:GAT算法原理与数值实现详解

图数据在机器学习中的地位越来越重要。社交网络的用户关系、论文引用网络、分子结构,这些都不是传统的表格或序列数据能很好处理的。现实世界中实体之间的连接往往承载着关键信息。 图神经网络(GNN)的出现解决了这个问…

网站开发技术可以做什么工作视频解析网站怎么做的

2022 开放原子全球开源峰会 OpenAnolis 分论坛上&#xff0c;阿里云智能基础软件产品经理张鹏程做了《面向云时代的龙蜥操作系统&#xff0c;应对 CentOS 停服的最佳选择》的主题分享&#xff0c;介绍了操作系统产业迎来新发展格局&#xff0c;龙蜥致力于成为 CentOS 迁移的最佳…

备案ip 查询网站查询网站查询系统上饶做网站最好的公司

基于神经网络的农业病虫害损失预测 【摘 要】鉴于农业病虫害经济损失的预测具有较强的复杂性和非线性特性&#xff0c;设计了一种新型的GRNN预测模型&#xff0c;对农业病虫害经济损失进行预测。该模型基于人工神经网络捕捉非线性变化独特的优越性&#xff0c;在神经网络技术和…

分解原则编写

import java.util.ArrayList; import java.util.List; import java.util.Scanner; import java.time.LocalDate; import java.time.format.DateTimeFormatter; // ManuscriptInformation类 class ManuscriptInformatio…

关于Leetcode 812题的简单思考

关于812题的 \(O(n)\) 算法的简单思考 因为今天的题目很有意思所以特别想跟大家分享一下。 812. 最大三角形面积 一开始我想到了凸包,然后想到凸包后可以采用 \(O(n^2)\) 的渐进算法算出最大面积。但是灵神的回答中提…

招聘网站开发的要求整站seo排名公司

1.下列数据结构中&#xff0c;属于非线性结构的是()。A.循环队列B.带链队列C.二叉树D.带链栈2.下列数据结构中&#xff0c;能够按照“先进后出”原则存取数据的是()。A.循环队列B.栈C.队列D.二叉树3.对于循环队列&#xff0c;下列叙述中正确的是()。A.队头指针是固定不变的B.队…

Laravel5.8 利用 snappyPDF 生成PDF文件

Laravel5.8 利用 snappyPDF 生成PDF文件pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…

幼儿做爰网站什么是网站推广优化

原标题&#xff1a;2019届呼和浩特市高三段考成绩排名分析不忘初心 天道酬勤╳✎校对&#xff1a;刘姝坤✎文稿&#xff1a;王涛老师✎声明&#xff1a;如有转载请联系并注明出处好乐(巨人)教育2019高三普文理集训段考班火热招生中全呼市唯一一家吃住学一体封闭式管理的学校唯一…

西城网站建设浩森宇特沈阳单页网站制作

Powered by:NEFU AB-IN 文章目录 Go 语言的实战案例 SOCKS5 代理 | 青训营 引入TCP echo serverauth 认证请求阶段relay阶段 Go 语言的实战案例 SOCKS5 代理 | 青训营 GO语言工程实践课后作业&#xff1a;实现思路、代码以及路径记录 引入 代理是指在计算机网络中&#xff…

数据结构——链表 - 详解

数据结构——链表 - 详解2025-09-27 19:42 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; fo…

25秋周总结4

总结 上周的两场联考我觉得考得很烂,其实难度和之前我打 200、300 是差不多的,但是为什么自己打得如此糟糕呢?我认为是自己思考问题的方式有问题,导致我的发挥不稳定。就像我在联考总结里面说的:我的思路历程在前…

html静态网站开发个人博客微商城 手机网站

目录 Tensor在神经网络中的角色 实现权重聚合的算法 1. Tensor的基本概念 2. Tensor的数据结构举例 一维Tensor(向量) 二维Tensor(矩阵) 三维及以上Tensor 3. Tensor的内部结构 4. Tensor的操作 Tensor数据结构示例 示例Tensor内容(部分) model.state_dict(…