7.2 图的几种分类

本文介绍了图的四种基本类型:无向图、有向图、加权图和有向无环图(DAG),并提供了实例来说明它们在多线程、工作流和最短路径计算等领域的应用。无向图可视为双向的有向图,而加权图则在边上有权重属性。有向无环图在避免无限循环的场景中至关重要,如多线程数组求和问题。
摘要由CSDN通过智能技术生成


  首先可以按有向无向来进行分类。可以分为无向图和有向图。需要注意的是,无向图的计算式实现实际上是内存里存储了两个方向的有向图。所以可以把无向图看成双向的有向图。有向图的例子很多,流程图或者更确切的例子是工作流,就是有向图。面向对象程序的内存结构也是一个有向图。

无向图

  比如以下是无向图的例子:
在这里插入图片描述

有向图

  有向图的例子,在多线程开发中比较多,比如JAVA得fork/join就是有向无环图。下面是3-puzzle游戏的状态转换图:
在这里插入图片描述
  当然,这不是一个很好的例子。因为反方向运动也可以变成无向图。

加权图

  有向无向都是边的特点。如果边再加上权重属性,就构成了加权图。权重不是边的长度,初学图算法可以用边的长度来辅助理解。但是有时候,权重也会是负数,这个时候使用几何概念长度来理解就不对了:
在这里插入图片描述

有向无环图

  在求最短路径的应用中,比如说地铁图,加权图的最短路径是求最短距离,无权图的最短路径是最少换乘。最后介绍下有向无环图,简称为DAG。为什么单独提出这个呢?因为在多线程编程、工作流算法中,用的就是有向无环图。无环是为了避免进入无限循环。以下是一个多线程数组求和的有向无环图的例子:

在这里插入图片描述
  好了,图按边还有很多分类方法,但是常见且实用的就这么几种。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是书信息管理系统软件的需求分析文档的示例: 1. 引言 书信息管理系统是一款用于管理书信息的软件,旨在提高书管理和查询的效率。本文档旨在对该软件的需求进行详细的分析和说明,以满足用户的需求。 2. 需求定义 2.1 背景 随着书馆和书室的数量不断增加,书管理也变得越来越复杂。传统的手工管理方式效率低下,难以满足用户的需求。因此,需要一种高效、稳定、易用的软件来管理书信息。 2.2 目标 书信息管理系统的主要目标是提高书管理和查询的效率,减少人力成本,提高管理效率。该系统应该满足以下要求: - 管理员可以添加、删除、修改书信息。 - 管理员可以查询书信息,包括书名、作者、出版社、ISBN号等。 - 管理员可以管理书的借阅和归还。 - 管理员可以管理用户信息,包括添加、删除、修改用户信息等。 2.3 用户 该软件的主要用户是书管理员或书馆管理人员。他们需要一款易用的软件来管理书信息,并提供高效的查询和借阅功能。 3. 需求分类 本系统的需求可以分为以下几类:功能需求、非功能需求、性能需求和安全需求。 4. 功能需求 4.1 管理员登录 管理员输入用户名和密码,登录系统。如果用户名或密码错误,则系统应该提示用户重新输入。 4.2 添加书 管理员可以添加书籍的基本信息,包括书名、作者、出版社、ISBN号、分类号等。 4.3 查询书 管理员可以通过关键字查询书信息,如书名、作者、ISBN号等。查询结果应该包括书籍的基本信息和当前库存数量。 4.4 删除书 管理员可以删除不需要的书信息。在删除书信息之前,系统应该提示管理员确认。 4.5 借阅管理 管理员可以管理书的借阅和归还。当用户借阅一本书时,系统应该自动减少该书的库存数量。当用户归还一本书时,系统应该自动增加该书的库存数量。 4.6 用户管理 管理员可以管理用户信息,包括添加、删除、修改用户信息等。用户信息应该包括姓名、学号(或工号)、联系方式等。 4.7 分类管理 管理员可以管理书的分类信息,例如添加、删除、修改分类信息等。分类信息应该包括分类名称、分类编号等。 5. 非功能需求 5.1 易用性 该软件应该易于使用,界面友好,操作简单。 5.2 可靠性 该软件应该稳定可靠,不易崩溃或出现错误。 5.3 安全性 该软件应该有一定的安全保障措施,如管理员登录密码加密存储等。 6. 性能需求 6.1 查询速度 该软件的查询速度应该快速响应,查询结果要快速返回。 6.2 并发性能 该软件应该支持多人同时使用,不会因为并发使用而崩溃或出错。 7. 安全需求 7.1 管理员登录 管理员登录时需要输入正确的用户名和密码。 7.2 权限管理 管理员可以根据需要设置不同的用户权限。 7.3 数据备份 该软件应该有数据备份和恢复功能,以防数据丢失。 8. 总结 本文档对书信息管理系统软件的需求进行了详细的分析和说明,包括功能需求、非功能需求、性能需求和安全需求等。这些需求将作为软件开发的基础,有助于开发人员更好地设计和开发软件系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醒过来摸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值