关闭

算法之度度熊回家

原题一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N-1个点是度度熊的家。现在他需要依次的从0号坐标走到N-1号坐标。但是除了0号坐标和N-1号坐标,他可以在其余的N-2个坐标中选出一个点,并直接将这个点忽略掉,问度度熊回家至少走多少 距离?输入描述:输入一个正整数N, N <= 50。 接下来N个整数表示坐标,正数表示X轴的正方向,负数表示X轴的负方向。绝对值小于等于100输出描述:...
阅读(115) 评论(0)

算法之买帽子(求第三便宜的帽子价格)

原题度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。 度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少?输入描述:首先输入一个正整数N(N <= 50),接下来输入N个数表示每顶帽子的价格(价格均是正整数,且小于等于1000)输出描述:如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1测试用例:10 10 10 10 10 20 20 30 30 40 4...
阅读(198) 评论(0)

八大排序——快速排序

作为一个学后台的同学,如果你不会希尔排序,我可以认为你学的不够,但如果你不会快速排序,那么我就要偷偷笑你了。快速排序算法最早由图灵奖的获得者Tony Hoare设计出来,更牛逼的是,这个算法被列为了20世纪十大算法之一。对,没错,是十大算法,不是十大排序算法,这足以看出这个排序算法在学界中大牛心目中的地位,我们这些程序猿还有什么理由不去学习它?不说玩笑话,下面让我们真正的体会一下快速排序。快速排序算...
阅读(147) 评论(0)

八大排序——直接插入排序

直接插入排序(Straight Insertion Sort)的基本操作是将一个元素插入到序列已经有序的那一部分中去,从而使序列中有序的部分逐渐扩大,直到整个序列有序。博主认为直接插入排序过程比较容易理解,所以不作过多赘述,直接上代码#includevoid main() { int a[6]={5,6,8,4,6,9}; int length=sizeof(a)/...
阅读(178) 评论(0)

八大排序——希尔排序

希尔排序(Shell Sort),是插入排序的一种。是直接插入排序的改进版,它是非稳定排序算法。其得名于它的提出者D.L.Shell,Shell Sort等算法的提出打破了“排序算法不可能突破O(n^2)”的魔咒,它将排序算法的时间复杂度提成到了O(nlongn),不可能超越的O(n^2)彻底成为了历史。 既然希尔排序是直接插入排序的改进版,那么它肯定是在直接插入排序的优势上做文章。了解直接插入排...
阅读(239) 评论(0)

八大排序算法——堆排序

八大排序排序,分为内部排序和外部排序,内部排序是指将数据记录在内存中进行排序,而外部排序因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存,所以称之为外部排序,我们这里讲的八大排序全部属于内部排序。八大排序时间/空间复杂度及稳定性堆排序堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分...
阅读(240) 评论(0)

KMP算法详解

作者: July  、 saturnma     时间; 二零一一年一月一日 ----------------------- 本文参考:数据结构(C语言版) 李云清等编著、算法导论 作者声明:个人July 对此24个经典算法系列,享有版权,转载请注明出处。 引言: 在文本编辑中,我们经常要在一段文本中某个特定的位置找出 某个特定的字符或模式。 由此,便产生了字符串的匹配...
阅读(124) 评论(1)
    个人资料
    • 访问:12140次
    • 积分:397
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:1篇
    • 译文:0篇
    • 评论:7条
    最新评论