C&C++
发布时间:2022-04-03 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 图表表示 – 链接列表的链接列表,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道邻接列表是使用链表列表表示图形的通用数据结构.我正在为C中的简单
搜索引擎实现倒排索引,并且将使用邻接列表.但是,我发现使用邻接列表的
一个缺点是,如果你不知道倒排索引中有多少个单词,你必须假设索引中有任意大量的单词(数组元素)以创建邻接列表.这可能导致使用过多的内存.这不是
一个大问题,但我想知道是否有更好的
方法来实现它.
@H_
607_5@
@H_
607_5@我认为这个问题的
一个解决方案是创建
一个链表的链表来代表我的倒排索引.我还没有看到很多链表的图表
链接列表的示例,所以我假设这不是常用的或传统的表示.我想知道使用链表的链表来表示
一般的图表是否合适?或者更好地坚持使用邻接列表?任何见解都会非常感激.
两种
方法都存在权衡.
@H_
607_5@
@H_
607_5@您可以在不使用额外内存的情况下使用邻接列表,但是,
每次插入和
删除都需要花费O(| V |)时间.
@H_
607_5@例如,如果你第一次
添加顶点时,
你的数组长度加倍,那么每次加倍顶点数时,只需要花费O(| V |)时间.但是,使用这种
方法几乎总是会占用额外的内存.
@H_
607_5@如果您选择使用LinkedList的LinkedList表示图形,那么您确实可以优化内存,
但需要进行大的
性能权衡.查找给定节点的邻居从O(| E |)时间到O(| V || E |)时间,这消除了邻接列表的
一个最大优点.
@H_
607_5@如果您想进行更高级的操作(如遍历图表),
性能成本将非常低效.对于顶点的每个邻居,您必须重新遍历节点LinkedList才能找到相邻顶点.
大佬总结
以上是大佬教程为你收集整理的c – 图表表示 – 链接列表的链接列表全部内容,希望文章能够帮你解决c – 图表表示 – 链接列表的链接列表所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。