【数据结构】邻接表与链式前向星
邻接表与链式前向星更正:
使用vector存图
的叫做邻接表
使用数组模拟
的叫做链式前向星
邻接表(使用vector)
使用邻接表的优劣:
优势:
- 码量少,易操作
- 不用担心空间,不易写错
劣势:
- C++11之前不能使用
auto v : i
形式遍历vector- 在不能开启
O2
的题目中较慢(POJ全占)
存图方式
1 | struct line // 自定义结构体 |
遍历方式
对于C++11后的OJ,使用如下方式遍历:
1 | // line是结构体的名字 |
对于C++11前的OJ,使用如下方式遍历
其实这里建议使用链式前向星,因为不支持C++11的OJ很可能没有O2
1 | // line是结构体名字 |
添加方式
1 | // N为边的数量 |
链式前向星
使用链式前向星的优劣:
优势:
- 速度快,无需
O2
- 不受C++版本限制,适用于所有题目
劣势:
- 数组模拟链表,初学者不易理解
- 码量多,不理解容易打错,不易Debug
存图方式
1 | struct line |
遍历方式
1 | for(int son = head[crd]; son; son = node[son].next) |
添加方式
1 | // 前向星添加边(使用函数) |
- 标题: 【数据结构】邻接表与链式前向星
- 作者: EveSunMaple
- 创建于 : 2023-06-16 00:06:00
- 更新于 : 2024-02-23 12:02:20
- 链接: https://old.saroprock.com/post/e245b9b5.html
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
推荐阅读
评论