图-概念

顶点

弧 弧头 弧尾

度:出度 入度。 度是一个数,指的是顶点直连的边或弧的数目。

有向图

无向图

有向完全图 An2条弧

无向完全图 Cn2条边

稀疏图:很少的弧或边

稠密图:很多的弧或边

子图: 顶点或边(弧)少于等于母图的顶点或边(弧)。

邻接(顶)点 邻接  顶点V1邻接到顶点V2

顶点的度:一个数,顶点相关联边的数目。(二叉树里称边(弧)为分叉,其实二叉树的分叉是弧,有向的)

:也叫赋权图。边或弧带

路径:两顶点间的路径是一个顶点序列。若图有向,则路径也有向。  

回路 简单路径 简单回路

两顶点连通:两顶点有路径相通。

连通图: 任意两顶点都是连通的。

强连通图:任意两顶点不仅连通,还是双向连通。 A能到B,B能到A,但是路径不一定一样。

图的连通分量:图的子图, 连通的,而且是极大的(能连的点都算)

图的强连通分量:图的子图, 强连通的,而且是极大的(能连的点都算)。

连通图的生成树:极小连通子图,包含全部n个节点,但是只有n-1条边。 (去掉回路,类似树,使除了根节点,每个顶点只有一条入的分叉)

顶点序列:图中各定点地位相同,所以图的序列是人为排序的(不像树,有着明显的层次,左右之分)。第一邻接点,第k个等都是就这个序列而言。从小到大。序列是为了让程序员知道以什么样的顺序处理或者讨论,有了序列,才能知道线性的存储结构和非线性的逻辑结构是如何对应的,否则顶点的寻找只能挨个匹配顶点名。(1.实现随机查找。 2,存储中统一对应,比如多个表。)


图的存储:

邻接矩阵表示法: 用两个数组,一个一维数组,存储顶点信息。 一个二维数组,存储顶点间的关联关系。这个二位数组叫做邻接矩阵


二叉树的存储:完全二叉树顺序存储,用双亲结点与子节点的运算关系来存储关系。 链式存储,用指针来存储结点间的关系。

图的存储:邻接矩阵用二位数组的对应关系来存储顶点见关系。邻接表存储:用指针存储关系,邻接表分为边表和表头结点表两部分。


一种数据结构用其他的数据结构表示:比如图用两个表表示。存储上用一个顺序表和一个链接表。不断具体化,从程序员到实现。最抽象的数据结构用于问题建模,套用其理论解决问题(图论)。程序的书写,也因该根据数据结构的层次进行展开(函数调用),见数据结构p214.

遍历算法的提出,也是就最高层,抽象的数据结构体出,保证每一个结点都能被访问到,不考虑是否跳跃什么的。



数据库设计中的概念结构设计是将需求分析得到的用户需求抽象为信息结构即概念模型的过程。概念结构是对现实世界的一种抽象,即对实际的人、物、事和概念进行人为处理,抽取人们关心的信息,形成一个概念模型。概念结构设计的第一步是对需求分析阶段收集到的数据进行分类、组织,确定实体、实体的属性、实体之间的联系类型,形成E-R。实体与属性的划分原则包括:实体必须是客观存在的事物或概念,实体必须具有唯一性,实体必须具有属性,属性必须具有原子性,属性必须与实体有关,属性必须具有描述性,属性必须具有值的域。 下面是一个简单的例子,展示如何进行概念结构设计: 假设我们要设计一个学生信息管理系统,首先需要确定实体,包括学生、课程、教师等。然后需要确定实体的属性,例如学生实体的属性包括学号、姓名、性别、年龄等。接下来需要确定实体之间的联系类型,例如学生和课程之间的联系是选课关系,学生和教师之间的联系是授课关系。最后,根据实体、属性和联系类型,可以形成E-R,如下所示: ```mermaid erDiagram STUDENT { 学号 姓名 性别 年龄 } COURSE { 课程号 课程名 学分 } TEACHER { 工号 姓名 职称 } SELECT { 学号 课程号 成绩 } TEACH { 工号 课程号 } STUDENT -- SELECT COURSE -- SELECT TEACHER -- TEACH COURSE -- TEACH ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值