哪个是更优化的代码

Which is more optimized code?

本文关键字:代码 优化      更新时间:2023-10-16
// (1)
for (int iter = 1; iter <= VERTEX_SIZE; iter ++) {
    if (visit[iter]) continue;
    dfs(iter);
}
// (2)
for (int iter = 1; iter <= VERTEX_SIZE; iter ++) {
    if (!visit[iter]) {
        dfs(iter);
    }
}

哪个代码更优化?我只是好奇。

对于任何半体面的编译器,这根本不会有什么区别;生成的机器代码将完全相同。如果您仍然想确定,请对其进行基准测试。

选择您认为最具可读性的那个。

没有区别。选择你最喜欢的一个。你用第一种方法编译的每个程序肯定也会使用第二种方式,运行时间也是一样的。

注意:我会使用第二种方式;我认为它更具可读性,我见过的大多数DFS实现(在C++和pheudocode中)都使用它。