由于堆是⼀个完全⼆叉树,因此可以⽤⼀个数组来存储。(如果不清楚大家可以回顾⼆叉树的存储(上)c++文章里的顺序存储)
结点下标为 i :
- 如果⽗存在,⽗下标为 i/2 ;
- 如果左孩⼦存在,左孩⼦下标为 i × 2 ;
- 如果右孩⼦存在,右孩⼦下标为 i × 2 + 1 。
- ⽤数组存下来这组数,然后把数组调整成⼀个堆;
- 创建⼀个堆,然后将这组数依次插⼊到堆中
由于堆是⼀个完全⼆叉树,因此可以⽤⼀个数组来存储。(如果不清楚大家可以回顾⼆叉树的存储(上)c++文章里的顺序存储)
结点下标为 i :
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/961982.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!