我有2个完全相同的程序版本,迷宫生成器,用Python编写,C++。在Python中优化它后,我的想法是,如果我用C++重写它,它将更快,更有效率。然而,我发现了一件令人惊讶的事情(当你想到它时,这并不奇怪)。对于Python:我的算法从列表中选择一个随机项目,处理它,然后从那里删除它。对于C++:都是一样的,但不是列表,而是使用向量。从C++中的向量中删除元素比在Python中对列表执行相同的操作要慢得多,因为当您删除它们时,向量的元素会发生变化。我的问题是:C++中可以编制索引并比vector更快地执行其项目删除的最佳数据结构是什么?
现在C++的删除时间是Python平均时间的5-6倍。
千巷猫影
翻阅古今
相关分类