c++ - C++中DAG的拓扑排序;存储排序列表的数据结构?
问题描述
我在 C++ 中实现了一个有向无环图的拓扑排序,它输出一个拓扑排序列表。
我看到一些实现排序列表存储std::stack
在std::vector
. 我不确定哪种或其他数据结构最适合我的情况。本质上,我只需要遍历这个排序列表,并从上到下提取存储的元素。该列表在提取过程中不会被修改。
使用 astd::vector
似乎是一种浪费,时间复杂性,因为每次将新元素添加到列表中时我都会重新分配向量。这个列表可能会变得非常庞大。
看来我无法std::stack
根据How to traverse stack in C++进行循环?.
是否有其他选择更适合我想做的事情?
解决方案
推荐阅读
- python - Python pandas groupby 聚合一列,同时获取其余列的平均值
- c++ - Hidapi hid_write() 返回错误(Windows 10、C++)
- node.js - 寻求关于 AJAX 和 js 的建议
- typescript - 打字稿:部分
带有可选的子属性 - javascript - 如何在reactjs中选择基于组的复选框antd
- html - 如何在小型设备中创建响应式表格?
- python - 错误:缺少脚本:运行 npm start 时启动
- python - Python在输入文件的开头添加空格?
- angular - 如何在下拉列表中使用角度路由器?如何在特定条件下发生重定向?
- react-native - 世博会推送通知侦听器未触发