摘要:
在堆排序中,我们首先需要建立一个最大堆(每个最小堆的堆顶元素大于它的子节点),,建立好后在堆顶的元素一定是最大元素,此时我们将这个元素和最后一个元素进行交换,然后重新调整树,让它满足最大堆,以此类推直到交换到第二个元素停止交换。 以下是代码实现: int n = 14; int[] arrs = n 阅读全文
摘要:
对于求解最短路径的问题我们知道可以通过深度或广度优先算法实现,但是我们发现如果要让任意2点(例如:a顶点到b顶点)之间的路程变短,那么我们只能引入第三个点(顶点k),并通过这个顶点k中转,即(a k b),才能缩短原来顶点a到顶点b的路程。甚至有时候我们需要引入多个顶点进行中转会让其路程更短(例如: 阅读全文