链式前向星与vector为什么vector更耗时间

P3806 【模板】点分治 1

二维 `vector` 存图一直很慢。试试先用链表输入数据,然后转存到一维 `vector` 用于运算,或许能比全程用链表更快。
by ud2_ @ 2023-07-10 20:59:05


@[时间圣使·凡](/user/133257) vector 有 $5,6$ 的常数。
by catandcode @ 2023-07-10 21:04:43


@[catandcode](/user/767681) 5,6?
by 时间圣使·凡 @ 2023-07-10 21:06:46


@[ud2_](/user/206953) 嗦嘎
by 时间圣使·凡 @ 2023-07-10 21:07:18


@[时间圣使·凡](/user/133257) 大概五到六
by catandcode @ 2023-07-10 21:07:28


@[catandcode](/user/767681) 啥意思,是会多申请一些没用的空间吗
by 时间圣使·凡 @ 2023-07-10 21:11:21


@[时间圣使·凡](/user/133257) 时间常数,每次操作大概相当于五六次(我也不知道这样解释是不是完全正确)
by catandcode @ 2023-07-10 21:14:26


@[catandcode](/user/767681) 我看的[这个](https://blog.csdn.net/qq_42080098/article/details/124357242)说什么Cache命中率下降(虽然我不大清楚是啥),但看起来好像是一维的vector更快,二维的vector更慢(好像和时间常数没什么关系?)
by 时间圣使·凡 @ 2023-07-10 21:20:21


大概是内存存储方式导致的(雾)
by 时间圣使·凡 @ 2023-07-10 21:24:54


@[时间圣使·凡](/user/133257) 有没有可能,就是我说常数是指他的结果,不是原因。一维 vector 也比数组慢,vector push_back 函数的运行时间也比前向星的 add 函数长,有一些构造函数可以优化这一点,但不容易写,实际意义不大。
by catandcode @ 2023-07-10 21:30:07


| 下一页