据我所知:Java中的每个类都继承了Object Class的方法,而不需要指定这样做,这使得这个类如此独特和有趣.
因此我想知道,在JVM中指定了这个"规则"在哪里?可以以某种方式操纵此类,例如添加或删除方法或变量吗?是否可以独立于Object类创建并行的分层结构?
我有一个问题,理解Djisktra算法的复杂性,希望有人能纠正我.
在我的例子中,我拍摄了一个包含n个顶点的完整图形.
你选择一个起始顶点,让我们说a1,标记它,然后计算边上的所有n-1权重.上)
你挑选最小的一个.让我们说顶点a2并标记它.上)
之后,您在边缘上计算n-2个新权重,并查找下一个未标记的顶点以添加您标记的顶点集.
等等...
算法运行直到您可以标记所有顶点.复杂性:n-1 + n-2 + ... + n - (n - 1)= Binom(n,2),它在O(n ^ 2)中,而不是O(n*ln(n))我是什么想.
我读了很多次人们使用堆进行优化,但是我仍然没有看到如何避免Binom(n,2)计算.
我不得不在某些方面做错,但不要看到哪里.