算法
文章平均质量分 80
Jeaforea
PHP从零基础到神经病
展开
-
KMP算法详解
作者: July 、 saturnma 时间; 二零一一年一月一日-----------------------本文参考:数据结构(C语言版) 李云清等编著、算法导论作者声明:个人July 对此24个经典算法系列,享有版权,转载请注明出处。引言:在文本编辑中,我们经常要在一段文本中某个特定的位置找出 某个特定的字符或模式。由此,便产生了字符串的匹配转载 2017-03-07 15:26:51 · 395 阅读 · 1 评论 -
八大排序——快速排序
作为一个学后台的同学,如果你不会希尔排序,我可以认为你学的不够,但如果你不会快速排序,那么我就要偷偷笑你了。快速排序算法最早由图灵奖的获得者Tony Hoare设计出来,更牛逼的是,这个算法被列为了20世纪十大算法之一。对,没错,是十大算法,不是十大排序算法,这足以看出这个排序算法在学界中大牛心目中的地位,我们这些程序猿还有什么理由不去学习它?不说玩笑话,下面让我们真正的体会一下快速排序。快速排序算原创 2017-03-20 22:27:44 · 637 阅读 · 0 评论 -
八大排序——直接插入排序
直接插入排序(Straight Insertion Sort)的基本操作是将一个元素插入到序列已经有序的那一部分中去,从而使序列中有序的部分逐渐扩大,直到整个序列有序。博主认为直接插入排序过程比较容易理解,所以不作过多赘述,直接上代码#include<stdio.h>void main(){ int a[6]={5,6,8,4,6,9}; int length=sizeof(a)/原创 2017-03-19 22:33:03 · 661 阅读 · 0 评论 -
算法之买帽子(求第三便宜的帽子价格)
原题度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。 度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少?输入描述:首先输入一个正整数N(N <= 50),接下来输入N个数表示每顶帽子的价格(价格均是正整数,且小于等于1000)输出描述:如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1测试用例:10 10 10 10 10 20 20 30 30 40 4原创 2017-07-26 16:36:55 · 1557 阅读 · 0 评论 -
算法之度度熊回家
原题一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N-1个点是度度熊的家。现在他需要依次的从0号坐标走到N-1号坐标。但是除了0号坐标和N-1号坐标,他可以在其余的N-2个坐标中选出一个点,并直接将这个点忽略掉,问度度熊回家至少走多少 距离?输入描述:输入一个正整数N, N <= 50。 接下来N个整数表示坐标,正数表示X轴的正方向,负数表示X轴的负方向。绝对值小于等于100输出描述:原创 2017-07-26 16:51:27 · 1206 阅读 · 0 评论 -
八大排序算法——堆排序
八大排序排序,分为内部排序和外部排序,内部排序是指将数据记录在内存中进行排序,而外部排序因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存,所以称之为外部排序,我们这里讲的八大排序全部属于内部排序。八大排序时间/空间复杂度及稳定性堆排序堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分原创 2017-03-13 15:28:27 · 1214 阅读 · 0 评论 -
八大排序——希尔排序
希尔排序(Shell Sort),是插入排序的一种。是直接插入排序的改进版,它是非稳定排序算法。其得名于它的提出者D.L.Shell,Shell Sort等算法的提出打破了“排序算法不可能突破O(n^2)”的魔咒,它将排序算法的时间复杂度提成到了O(nlongn),不可能超越的O(n^2)彻底成为了历史。 既然希尔排序是直接插入排序的改进版,那么它肯定是在直接插入排序的优势上做文章。了解直接插入排原创 2017-03-16 22:29:18 · 765 阅读 · 0 评论 -
浅谈哈希表与其映射函数(哈希函数)
哈希表又称散列表,通过把关键字key映射到数组中的一个位置来访问记录。映射过程通过函数实现,而这个函数就叫哈希函数,存放关键字的数组称为散列表。哈希表结构前面说了,关键字是存放在数组中的,所以哈希表的结构其实就是一个数组,为什么要采用数组来作为哈希表的数据结构呢?这里我不得不说数组的一些特性。 数组的时间复杂度是O(1),这里说的时间复杂度是访问复杂度,不是遍历复杂度。计算机内存...原创 2018-03-22 14:30:42 · 5793 阅读 · 0 评论