邻接表和十字链表,有什么区别呢?他们的应用场合是什么呢?
邻接表和十字链表,有什么区别呢?他们的应用场合是什么呢?
3条回答 默认 最新
threenewbee 2020-04-28 12:26关注不知道你有没有坐过长途汽车,车站一般都会贴出这么一个里程表

邻接表其实和它是一样的(因为里程表a->b 和b->a的里程一样,所以只画一半,一个三角形就可以了,邻接表则是完整的一个二维数组)
也就是行是始发站,列是终点站,值是里程(或者用0 1表示是否有通路,或者表示权重)十字链表是邻接表的链式存储的形式,解决的问题是,当一个图上节点很多,但是边很少的时候,用数组存储,大部分都是0,很浪费
于是用一个数据结构(5元组)存储 当前的行(相当于始发站id)、列(终点站id)、权重(里程)、下一个行(还是这个始发站可以到的下一个终点站id)、下一个列(也到这个终点站的下一个始发站)。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报