数据结构
不仅要修外功,也要加强内功~
文文文文文哥
...
展开
-
堆排序(java实现)
一、前言堆是一个数组,它可以看成近似的完全二叉树。表示堆的数组包括两个属性:A.length数组元素的个数,A.heapSize表示多少个元素存在数组中。这里的关系是: 0<= A.heapSize<=A.length树的根节点为A[1],堆排序的时间复杂度为O(nlgn)。二叉堆分为两种形式:最大堆和最小堆。最大堆是父节点>=子节点。最小堆即相反。下面用java实...原创 2018-02-10 11:20:04 · 191 阅读 · 0 评论 -
快速排序(java实现)
一、前言快速排序,听这个名字也知道这是一个性能比较好的排序算法。最坏情况下时间复杂度为O(n²),虽然最坏时间复杂度很差,但是快速排序通常是实际排序中最好的选择,因为它平均性能最好:它的期望时间复杂度O(nlgn),而且隐含的常数因子非常小。快速排序主要利用二、实现整个实现思路可以这样理解:①找到一个基准,例如将最后一个元素当做基准②从第一个元素依次和基准比较,如果小于基准则不动,...原创 2018-02-11 14:53:01 · 911 阅读 · 0 评论