离散数学第11章计算机课题第1题

问题: 给定无向简单图的相邻矩阵,确定这个图是不是树

定理1 一个无向图是树当且仅当在它的每对定点之间存在唯一简单通路。

可以给出一个算法:使用广度优先搜索,能够遍历所有节点并且在访问一个节点之后。

后面遍历的到的节点中不再包含这个节点。

算法如下:

数据结构: Mark数组存储节点是否被遍历过的,-1代表没被遍历,1代表已经被遍历

relationString数组存储 图中包含元素

第一步:

找到一个节点做为树根,将它的所有孩子标记为1,

第二步:

以上一步产生的所有孩子为根节点,广度优先搜索这些孩子的节点。如果新访问到的节点已经被访问,则判断此图不是树,

反之标记这些孩子为1。并且重复此过程,直到遍历所有根节点的子孙。

第三步:判断mark数组中是否含有标记为-1的位置,如果有则判断图不是树。

代码如下。

private boolean Judge(String[] relationString, int[][] matrix, int[] mark,int bef, int aft) {
// 找到第一个元素的所有配对 如 <a,b>
   for (int i = 0; i < mark.length; i++) {
           if (matrix[aft][i] == 1) {// 检索到新元素
               if (i == bef) {
           }// 判断是否是已经被检索的边,判断为是就直接跳过就行了
            else if (bef != i) {// 是检索到的新的边
            if (mark[i] == 1) {// 有重边
           return false;
           }
           mark[i] = 1;
        if (!Judge(relationString, matrix, mark, aft, i)) {
        return false;
}
}

}
}
return true;
}

时间: 2024-12-28 23:06:34

离散数学第11章计算机课题第1题的相关文章

离散数学第2章计算机和探索第2题

问题:给定一个有限集,试列出其幂集中的所有元素. 解决方法1:To generate all subsets of S,list all 2n bit strings of length n(for instence, in increasing order),and write down the corresponding subsets. 解决方法2:以集合<a,b,c,d>为例 第一步: 添加空集, 第二步: 添加单元素成为单元素子集,并且将它存入tempBefore字符串数组做为转换成

【原创】算法导论11章带星第4题试解

题目: 我们希望在一个[非常大]的数组上,通过利用直接寻址的方式来实现一个字典.开始时,该数组中可能包含一些无用信息,但要对整个数组进行初始化是不太实际的,因为该数组的规模太大.请给出在大数组上实现直接寻址字典的方案.每个存储对象占用O(1)空间:SEARCH.INSERT和DELETE操作的时间均为O(1):并且对数据结构初始化的时间为O(1). (提示:可以利用一个附加数组,处理方式类似于栈,其大小等于实际存储在字典中的关键字数目,以帮助确定大数组中某个给定的项是否有效) 解答: 这个提示非

外部排序-第11章-《数据结构题集》习题解析-严蔚敏吴伟民版

习题集解析部分 第11章 外部排序 ——<数据结构题集>-严蔚敏.吴伟民版        源码使用说明  链接??? <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接??? <数据结构>课本源码合辑        习题集全解析  链接??? <数据结构题集>习题解析合辑       相关测试数据下载  链接? 数据包       本习题文档的存放目录:数据结构\▼配套习题解析\▼11 外部排序    

3.26日第六次作业,第10章质量,11章人力

3.26日 第六次作业,第10章质量,11章人力 1.质量管理基本原则   以实用为核心的多元要求.系统工程.职工参与管理.管理层和第一把手重视.保护消费者权益.面向国际市场. 2.质量管理的目标顾客满意度.预防胜于检查.各阶段内的过程.   质量管理既重视结果也重视过程   实施组织主动采纳的质量改进措施(如全面质量管理.持续改进等) 3.质量管理的主要活动有哪些项目的质量管理可以分解为质量策划.质量保证与质量控制三个过程.质量策划是指确定与项目相关的质量标准,并决定如何达到这些质量标准.质量

第11章 智能物流

第11章 智能物流 11.1智能物流概述 11.1.1传统物流与智能物流 传统物流一般指产品出厂后的包装.运输.装卸.仓储,传统上的物流活动分散在不同的经济部门.不同的企业以及企业组织内部不同的职能部门之中. 智能物流指的是将信息.运输.仓储.库存.装卸搬运以及包装等物流活动综合起来的一种新型的集成式管理,其任务是尽可能降低物流的总成本,为顾客提供最好的服务. “现代”物流是根据客户的需求,以最经济的费用,将物流从供给地向需求地转移的过程.它主要包括运输.储存.加工.包装.装卸.配送和信息处理等

《浪潮之巅》读书笔记——第11章 摩托罗拉

第11章 摩托罗拉  公司发展    1928创立 原名高尔文制造公司    基因      注重技术和品质    1947 改名摩托罗拉    2011 拆分为摩托罗拉移动和摩托罗拉解决方案两个独立上市公司    2011 Google收购摩托罗拉移动 获得大量专利 扭转了苹果和微软的专利战  产品    最早是做汽车收音机 Motorola是其品牌    给军方做便携式无线通信工具 步话机二战前    模拟无线通信的老大(无线双工霸主)    1946 汽车电话    1958 汽车对讲机 

第11章,磁盘存储和文件系统学习笔记

更多内容请点击: Linux学习从入门到打死也不放弃,完全笔记整理(持续更新,求收藏,求点赞~~~~) http://blog.51cto.com/13683480/2095439 笔记整理开始时间:2018年4月24日11:25:33 第11章,磁盘存储和文件系统 本章内容: 磁盘结构 分区类型 管理分区 管理文件系统 挂载设备 管理虚拟内存 RAID管理 LVM管理 LVM快照 设备文件: 磁盘设备的设备文件命名:/dev/dev-file SCSI,SATA,SAS,IDE,USB:   

第一章计算机基础

第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 等组成,只有硬件但硬件之间无法进行交流和通信. 人用程序通过编程语言解释器,指令操作系统,最终控制电脑硬件来做符合人们需求的过程 1.2 操作系统 操作系统用于协同或控制硬件之间进行工作,常见的操作系统有那些: windows linux centos [公司线上一般用] mac 1.3 解释器或编译器 编程语言的开发者写的一个工具,将用户写的代码转换成010101交给操作系统去执行

C++ Primer 读书笔记:第11章 泛型算法

第11章 泛型算法 1.概述 泛型算法依赖于迭代器,而不是依赖容器,需要指定作用的区间,即[开始,结束),表示的区间,如上所示 此外还需要元素是可比的,如果元素本身是不可比的,那么可以自己定义比较函数. 2.常用的泛型算法函数: fill,fill_n, copy, replace, sort, unique, count_if, stable_sort 此外在有一个谓词函数会结合以上的函数使用,像sort, count_if等 3.再谈迭代器 (1)插入迭代器 back_inserter, f