中国矿业大学徐海学院计算机实践,2013年中国矿业大学徐海学院计算机系《软件认知实践》报告...

本文主要是介绍中国矿业大学徐海学院计算机实践,2013年中国矿业大学徐海学院计算机系《软件认知实践》报告...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

a7f4a3f590493a1e451dd952a488fd7c.gif 2013年中国矿业大学徐海学院计算机系《软件认知实践》报告

(26页)

949e9e0aa676491ef6b1ad7809715be3.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

9.90 积分

中国矿业大学徐海学院计算机系《软件认知实践》报告姓 名: 学 号: 专 业: 设计题目: 指导教师: 2013年12月30日目 录第1章 题目概述 2第1.1节 题目要求 2第1.2节 主要难点 3第2章 系统流程图 4第3章 数据结构和算法 5第4章 核心代码分析 6第5章 复杂度分析 25参考文献 25第1章 题目概述第1.1节 题目要求(1)自选存储结构,输入含n个顶点(用字符表示顶点)和e条边的图G;(2)求每个顶点的度,输出结果;(3)指定任意顶点x为初始顶点,对图G作DFS遍历,输出DFS顶点序列(提示:使用一个栈实现DFS);(4)指定任意顶点x为初始顶点,对图G作BFS遍历,输出BFS顶点序列(提示:使用一个队列实现BFS);(5)输入顶点x,查找图G:若存在含x的顶点,则删除该结点及与之相关连的边,并作DFS遍历(执行操作3);否则输出信 息“无x”;(6)判断图G是否是连通图,输出信息“YES”/“NO”;(7)如果选用的存储结构是邻接矩阵,则用邻接矩阵的信息生成图G的邻接表,即复制图G,然再执行操作(2);反之亦然。第1.2节 主要难点(1)自选存储结构创建一个图:通过用户从键盘敲入的两个数值分别确定图的顶点数和边数,选择邻接矩阵存储结构将图的结点信息存储在一个顺序表中,图的边信息存储在一个二维数组中。(2)求每个顶点的度:1.邻接矩阵存储结构下求每个顶点的度:利用图的邻接矩阵,每个顶点所在行和所在列的边的权值如果存在则该顶点的度+1,依次算出每个顶点的度,并且记录在一个数组中输出。2.邻接表存储结构下求每个顶点的度:定义一个邻接边指针循环指向顶点的邻接边单链表头结点,当结点不空时,该顶点的出度+1,邻接边弧头结点的入度+1,依次求出每个顶点的出度和入度之和就为该顶点的度。(3)图的深度优先遍历:采取邻接矩阵结构,指定任意顶点x为初始顶点1.访问结点v并标记结点v已访问;2.查找结点v的第一个邻接结点w;3.若结点v的邻接结点w存在,则继续执行,否则算法结束;4.若结点w尚未被访问,则递归访问结点w;5.查找结点v的w邻接结点的下一个邻接结点w,转到步骤3。(4)图的广度优先遍历:采取邻接矩阵结构,指定任意顶点x为初始顶点,利用顺序循环队列以保持访问过的结点的顺序1.首先访问初始结点v并标记结点v为已访问;2.结点v入队列;3.当队列非空时则继续执行,否则算法结束;4.出队列取得队头结点u;5.查找u的第一个邻接结点w;6.若u的邻接结点w不存在则转到步骤3,否则循环执行下列步骤:6.1若结点w尚未被访问,则访问结点w并标记结点w为已访问;6.2结点w入队列;6.3查找结点u的w邻接结点的下一个邻接结点w,转到步骤6 。(5)判断有向图的强连通性:采取邻接表结构,在图中寻找一个包含所有顶点且首尾相连的环,若这样的环存在,则该图为强连通图,否则不为强连通图。(6)用邻接矩阵的信息生成邻接表:定义一个邻接表的边信息结构体,将邻接矩阵的边信息转换成邻接表的边信息存储到邻接边的单链表中。第二章 系统流程图main()PrintCreatGraphMVerticesDepthFirstSearchCreatLGraphMDeleteBroadFirstSearchChaZhaoLianTongLVerticesInsertVertexInsertEdgeLInsertVertexLAdjInitiateDeleteVertenDeleteEdgeLInsertEdgeInitiate第3章 数据结构和算法(1)有向图顶点的数据类型DataType 定义如下: typedef int DataType ;(2)邻接矩阵存储结构下图的结构体定义如下:typedef struct{ SeqList Vertices; int edge[MaxVertices][MaxVertices]; int numOfEdges; }AdjMGraph; (3)邻接矩阵存储结构下图的边信息结构体定义如下:typedef struct{ int row; int col; int weight; }RowColWeight; (4)邻接表存储结构下图的结构体定义如下:typedef struct Node { int dest; struct Node *next; }Edge; typedef struct{ DataType data; int sorce; Edge *adj; }AdjLHeight; typedef struct{ AdjLHeight a[MaxVertices]; int numOfVerts; int numOfEdges; }AdjLGraph; (5)邻接表存储结构下图的边信息结构体定义如下:typedef struct{ int row; int col; }RowCol; (6)顺序循环队列的结构体定义如下:typedef struct { DataType queue[MaxQueueSize]; int rear; int front; int count;}SeqCQueue;(7)顺序表的结构体定义如下:typedef struct{ DataType list[MaxSize]; int size;}SeqList;第四章 核心代码分析源程序存放在八个文件夹中,文件SeqList.h是顺序表的结构体定义和操作函数,文件SeqCQueue.h是顺序循环队列的结构体定义和操作函数,文件AdjMGraph.h是邻接矩阵存储结构下图的结构体定义和操作函数,文件AdjMGraphCreate.h是邻接矩阵存储结构下图的创建函数,文件AdjLGraph.h是邻接表存储结构下图的结构体定义和操作函数,文件AdjLGraphCreate.h是邻接表存储结构下图的创建函数,文件AdjMGraphTraverse.h是邻接矩阵存储结构下图的深度优先遍历和广度优先遍历操作函数,文件图的基本操作与实现.c是主函数。(1)/* 文件SeqList.h */typedef st 关 键 词: 软件认知实践 2013 年中 矿业大学 学院 计算机系 软件 认知 实践 报告

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

本文标题:2013年中国矿业大学徐海学院计算机系《软件认知实践》报告

链接地址: https://www.wenku365.com/p-46763075.html

这篇关于中国矿业大学徐海学院计算机实践,2013年中国矿业大学徐海学院计算机系《软件认知实践》报告...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/647865

相关文章

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

在Java中使用OpenCV实践

《在Java中使用OpenCV实践》用户分享了在Java项目中集成OpenCV4.10.0的实践经验,涵盖库简介、Windows安装、依赖配置及灰度图测试,强调其在图像处理领域的多功能性,并计划后续探... 目录前言一 、OpenCV1.简介2.下载与安装3.目录说明二、在Java项目中使用三 、测试1.测

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

SpringBoot整合(ES)ElasticSearch7.8实践

《SpringBoot整合(ES)ElasticSearch7.8实践》本文详细介绍了SpringBoot整合ElasticSearch7.8的教程,涵盖依赖添加、客户端初始化、索引创建与获取、批量插... 目录SpringBoot整合ElasticSearch7.8添加依赖初始化创建SpringBoot项

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.