这篇文章给大家介绍最小二叉树堆排序怎么利用java 实现,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
最小二叉堆定义:
二叉堆是完全二元树或者是近似完全二元树,最小二叉堆是父结点的键值总是小于或等于任何一个子节点的键值的堆堆。
存储:
二叉堆一般用数组来表示。
根节点在数组中的位置是0,第n个位置的子节点分别在2n+1和 2n+2;
位置k的叶子的父节点位置为(k-1)/2;
实现:
private int[] getMinBinaryHeap(int[] array){ int N = array.length; int minBinaryHeap[] = new int[N]; int root;//根的值 int heapSize = 0;//记录插入位置 for(int num : array){ minBinaryHeap[heapSize]=num; ++heapSize; int pointer = heapSize-1;//当前指向的数组元素位置 while(pointer!=0){ int leafPointer = pointer;//叶子节点位置 pointer = (pointer-1)/2;//根节点位置 root = minBinaryHeap[pointer];//根节点 if(num>=minBinaryHeap[pointer]){//永远把当前数组元素看成叶子与其根比较或者换位 break; }//如果根比叶子大 就交换位置 minBinaryHeap[pointer] = num; minBinaryHeap[leafPointer] = root; } } return minBinaryHeap; }
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 如何在 MySQL 中优化插入大量数据的操作?(mysql insert大量数据时如何优化)
- 如何高效升级Redis客户端
- Java 中如何获取内存地址中的值?(java如何获取内存地址中的值)
- 在 Java 中,showdialog 的具体用法究竟是什么?(java中showdialog的用法是什么)
- 如何在 Java 中应用 Hyperscan 以及其具体场景有哪些?(Hyperscan在Java中的应用场景)
- 如何在 Java 中求二维数组的最大值?(java怎么求二维数组的最大值)
- Java 中 invoke 方法的作用究竟是什么?(java invoke方法的作用是什么)
- Java 代理模式常见的应用场景有哪些?(java代理模式的应用场景是什么)
- 如何在 Java 中求平均值?(java怎么求平均值)
- Redis客户端自动化操作:提升效率与准确性
猜你喜欢
AI推送时光机最小二叉树堆排序怎么利用java 实现
后端开发2023-05-31
【数据结构】二叉树-堆实现及其堆的应用(堆排序&topK问题)
后端开发2023-09-05
C++怎么实现二叉树的最小深度
后端开发2023-06-19
怎么在Java中利用二叉查找树算法实现一个排序功能
后端开发2023-05-31
java二叉树层序遍历怎么实现
后端开发2024-03-15
怎么利用JavaScript实现二叉搜索树
后端开发2023-06-14
怎么利用go语言实现查找二叉树中的最大宽度
后端开发2023-06-30
C++中怎么利用LeetCode实现二叉搜索树迭代器
后端开发2023-06-20
怎么用Python递归式实现二叉树前序,中序,后序遍历
后端开发2023-06-29
PHP中怎么利用key实现二维数组排序
后端开发2023-06-17
Java中怎么利用泛型实现数组排序
后端开发2023-06-17
怎么利用Java实现一个希尔排序算法
后端开发2023-05-31
利用java怎么实现一个冒泡排序算法
后端开发2023-05-31
利用java 怎么实现一个归并排序算法
后端开发2023-05-31
怎么在Java中利用TreeMap实现一个排序算法
后端开发2023-05-31
Java中的排序数索引怎么利用分治算法实现
后端开发2023-05-31
java中怎么利用gui实现一个计算器小程序
后端开发2023-06-20
怎么在Java项目中利用QuickSort实现一个快速排序功能
后端开发2023-05-31
咦!没有更多了?去看看其它编程学习网 内容吧