heapify和非heapify效率?

来源:8-5 Heapify 和 Replace

假设来自虚构

2019-11-18

图片描述
运行了很多遍,非heapify比heapify还快点!
哈哈哈 也就是10次 只有一次是Heapify 比 非Heapify快一点点。将老师写的下载下来也是一样。
是不是本机环境的原因呢?

写回答

1回答

liuyubobobo

2019-11-18

可以再把数据量调高试验一下?


不过对于 Java 语言,也有这种可能,因为 Java 是运行在 JVM 上的,所以 JVM 的一些优化有可能导致这种现象(非 heapify 的代码触碰了一些 JVM 底层的优化)。虽然在这一点上,Java 已经比脚本语言强太多了,但是还是存在这类问题。(其实,现代 C++ 也有这样的问题。编译层面的优化越来越多。)


因此一般在算法竞赛中,logn 级别的算法差别,基本上是测不出来的。很难有一个问题能卡主,O(n) 的算法可以过,但 O(nlogn) 的算法却过不去:)


继续加油!:)

0
0

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程