图论系列 --- 1. 图是什么玩意, 怎么表示它?

1.数据结构谈到数据结构,我觉得创造一种数据结构的初衷,应该是通过该数据结构完成对现实问题的建模和处理,最后当然能用数学或者计算机对这些问题进行处理和分析。 其中一种建模的过程就是使用数据结构去表示问题,而处理就是相应的算法。 比如你要算卦,那么大师需要知道你的生辰年月。 那么它可能需要一个数据结构(一个点)去保存这个生辰年月,并且能够在它复杂的算法中随时调用到这个数据。假如大师需
摘要由CSDN通过智能技术生成

1.数据结构


谈到数据结构,我觉得创造一种数据结构的初衷,应该是通过该数据结构完成对现实问题的建模和处理,最后当然能用数学或者计算机对这些问题进行处理和分析。 其中一种建模的过程就是使用数据结构去表示问题,而处理就是相应的算法。 

比如你要算卦,那么大师需要知道你的生辰年月。 那么它可能需要一个数据结构(一个点)去保存这个生辰年月,并且能够在它复杂的算法中随时调用到这个数据。假如大师需要给你解签的话,那么大师的大脑数据库里面肯定需要有某某签的相应信息,这时候很可能就需要一个线性表去保存和查找解签的信息。

但是大师并不是世界上拥有最复杂数据结构的人,你的三姑六大妈才拥有最复杂的数据结构。想想每年过年的时候,她们能够给你如数家珍般地数出你三表哥的大姨夫又和姑丈的儿子发生了矛盾之类的。 这种复杂的关系,只能用一种更高级的数据结构去表示它,而且还要保证能够去操纵和运算,这时候,你就需要这种东西了。

1.1 我们遇到过什么样的数据结构?

1.1.1 点(Vertex)  就是单独的一个数据表示。可以用来表示一个人的年龄,一只猪的重量...

1.1.2 点的最简单集合是线性表(Linear structure),线性表就是一堆点首尾相接在一块的集合,形象一点看就是一直线。直线上的每个节点只和他前后一个节点有关联。(关联度非常低了)。堆栈,队列,数组都是线性表的一些特殊形式。

1.1.3 树(Tree) 线性表的一种集合就是树(具体解释看下图)。 一棵树可以看成由好几个线性表组成的集合。


 1.1.4 图(Tree)  就是点,线,树的集合。在中,任意两个点和点之间可以存在或者不存在关联,自由度很大。




1.2 一些描述图的习惯与分类

图的表示为G(V,E),G为表示图的最大集合,V为表示图中所有点的集合E为边集,表示G中所有的边。所以理解图是什么,也可以理解为 给了对已给出节点的所有关联的集合。G的本身是很抽象的数据结构,但是本质是为了表示 点与点之间复杂关联的数据结构,用途取决于如何把点和这些关联映射到现有的生活中,例如点可以映射为人,边映射为人和人之间是否认识, 这就是

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值