Prechádzať zdrojové kódy

更新 '_posts/go-5.md'

aaronwei 5 rokov pred
rodič
commit
77a6251272
1 zmenil súbory, kde vykonal 6 pridanie a 0 odobranie
  1. 6 0
      _posts/go-5.md

+ 6 - 0
_posts/go-5.md

@@ -349,29 +349,35 @@ array此时为[5, 4, 6, 7, 9, 3, 4, 8, 2, 0]
 
 初始值 [5 4 6 7 0 3 4 8 2 9]
 
+
 调用siftDown(array, 4 , 10 )
 交换后结果 [5 4 6 7 9 3 4 8 2 0] 继续循环
 rootIndex: 9 没有子节点退出循环
 
+
 调用siftDown(array, 3 , 10 )
 交换后结果 [5 4 6 8 9 3 4 7 2 0] 继续循环
 rootIndex: 7 没有子节点退出循环
 
+
 调用siftDown(array, 2 , 10 )
 child兄弟节点更大,选择该兄弟节点childIndex: 6
 父节点比子节点大退出循环
 
+
 调用siftDown(array, 1 , 10 )
 child兄弟节点更大,选择该兄弟节点childIndex: 4
 交换后结果 [5 9 6 8 4 3 4 7 2 0] 继续循环
 父节点比子节点大退出循环
 
+
 调用siftDown(array, 0 , 10 )
 交换后结果 [9 5 6 8 4 3 4 7 2 0] 继续循环
 交换后结果 [9 8 6 5 4 3 4 7 2 0] 继续循环
 交换后结果 [9 8 6 7 4 3 4 5 2 0] 继续循环
 rootIndex: 7 没有子节点退出循环
 最后获取得的 [9 8 6 7 4 3 4 5 2 0] 就是大顶堆,父节点皆比子节点大。
+
 排序我就不举例了,都是一个意思。如果还看不懂就把切片换成堆结构你就明白了。