Python数据结构与算法——第三十七课 二叉堆的删除

 

  二叉堆的节点删除和完全二叉树的节点删除基本一样,请查看第二十五课 完全二叉树。根据完全二叉树节点删除的代码稍作改动就可以完成二叉堆节点的删除。主要的对应关系是:左指针对应与2*n+1;右指针对应于2*n+2

  程序代码:

 

 

 

 

 

 

  运行结果:

 

 

 

  练习题1:把上例的数据调过来,即[5,8,4,9,3,6],测试删除后分层显示。

 

  学思营编程课堂基于蓝桥STEM86平台https://www.stem86.com,开展学编程三部曲:

Scratch(三年级以前)>>>Python(四年级以后)>>>C++(七年级以后)教育实验活动,任何人可以免费参加,打开https://xuesiying.stem86.com网页注册进入课堂,也可关注本公众号留言。

更多课程请打开学思营同步网站:

http://www.5xstar.com/doc.html

 

参考资料:

1、《Python算法图解》何韬编著 清华大学出版社