qq_43412960 2020-04-28 10:52 采纳率: 78.6%
浏览 537
已采纳

这是一个关于数据结构图的问题

邻接表和十字链表,有什么区别呢?他们的应用场合是什么呢?
邻接表和十字链表,有什么区别呢?他们的应用场合是什么呢?

  • 写回答

3条回答 默认 最新

  • threenewbee 2020-04-28 12:26
    关注

    不知道你有没有坐过长途汽车,车站一般都会贴出这么一个里程表
    图片说明

    邻接表其实和它是一样的(因为里程表a->b 和b->a的里程一样,所以只画一半,一个三角形就可以了,邻接表则是完整的一个二维数组)
    也就是行是始发站,列是终点站,值是里程(或者用0 1表示是否有通路,或者表示权重)

    十字链表是邻接表的链式存储的形式,解决的问题是,当一个图上节点很多,但是边很少的时候,用数组存储,大部分都是0,很浪费
    于是用一个数据结构(5元组)存储 当前的行(相当于始发站id)、列(终点站id)、权重(里程)、下一个行(还是这个始发站可以到的下一个终点站id)、下一个列(也到这个终点站的下一个始发站)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置