![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 75
David_mission
我是菜鸟
展开
-
快速排序初步
最近看了一下快速排序的算法,写出来和大家一起分享一下吧。快速排序法(QuickSort)是一种非常快的对比排序方法。它也Divide-And-Conquer思想的实现之一。自从其产生以来,快速排序理论得到了极大的改进,然而在实际中却十分难以编程出正确健壮的代码。本文将对快速排序算法的基本理论和编程实践方面做作一个全面的讲解。在本文讲解中,将忽略很多细枝末节,试图给读者形成一个非常具体的快速排序原创 2016-03-28 11:38:37 · 233 阅读 · 0 评论 -
堆排序算法
顾名思义,堆排序就是利用堆来排序。把待排序的数组,构建成堆,再进行排序。1.堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: 小顶堆Data[i]=Data[2i+1]&&Data>=key[2i+2] 堆一般用数组来表示.如果根节点在数组中的位置是1, 第n个位置的子节点分别在2n和 2n+1.因此,第1个位置的子节点在2和3,第2个位置的子节点在4和5.以此类原创 2016-03-29 14:19:18 · 218 阅读 · 0 评论 -
二分查找算法
二分查找算法又称折半查找,优点是比较次数少,查找速度快,平均性能好,时间复杂度为O(logn);其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表原创 2016-04-06 13:37:13 · 259 阅读 · 0 评论 -
归并排序算法实现
归并排序算法的效率是很快的,只是比快速排序稍逊一筹归并排序的原理实际上是通过不断的分割待排序的数据,直至不能分割,就认为这个时候不能再分割的最小数组单元,就是已经排好顺序的数据。然后合并排序相邻的数组。例子:现在有一个带排序的数据a:{10,19,4,33,2,32,25} 第一次分割后为:a1:{10,19,4} 、 a2:{33,2,32,25}原创 2016-04-05 14:26:26 · 202 阅读 · 0 评论