数据结构---图

图的分类:有权有向,有权无向,无权有向,无权无向;

图的描述方法:

  • 邻接矩阵:用n*n的矩阵来描述点与点间的临界情况。有权图和无权图的区别是, A ( i , j ) A(i,j) A(i,j)>0表示i和j之间有一条边,而无权图中 A ( i , j ) A(i,j) A(i,j)只能取0,1。无向图和有向图的区别是,有向图中矩阵是对称矩阵,即 A ( i , j ) = 1 A(i,j)=1 A(i,j)=1 A ( j , i ) A(j,i) A(j,i)也为1;而有向图中, A ( i , j ) = 1 A(i,j)=1 A(i,j)=1表示有一条从i到j的路径, A ( j , i ) A(j,i) A(j,i)不一定存在路径。
  • 邻接链表:用邻接表为链表的数组来表示图。数组的每个元素都是一个链表,用来表示与数组对应顶点邻接的顶点。链表类型的成员为指向链表首字母的指针,链表中每个元素都有两个域,元素域用来储存值,指针域用来储存指向下个节点的指针。
  • 邻接数组:用邻接表为数组线性表的数组来表示图。

图的遍历方法有两种:

  1. 广度优先算法:先把一个节点邻接的所有节点找到,再找与这些节点邻接的节点,一层一层的找。 类似于图的层次遍历。用队列可以很方便的实现。
  2. 深度优先算法:找到一个节点邻接的一个节点之后,再找与整个节点邻接的节点,一直找到没有子节点了为止,然后再回到最近的一个岔路口找,往另一个方向深处找。类似于图的前序遍历。用递归实现。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值