自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Rob-Code

记录、激励、进步!!!

  • 博客(10)
  • 收藏
  • 关注

原创 基本排序系列之基数排序

基数排序一、基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。       其实现原理:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。二、具体操作:此排序的真正实现是通过队列的装置,先进先出

2014-06-17 20:25:05 1580

原创 基本排序之详解归并排序

归并排序一、归并排序的效率是仅次于快速排序的稳定的排序算法,其时间复杂度为O(nlog2n)。我们对n 个元素进行一次归并排序时,归并的次数约为log2n,每一次的两路归并排序元素的比较次数约为n-1。二、归并排序的基本思想:        归并排序是通过将一列数组序列中的元素看成一个一个的小序列来进行归并,直到所有的元素都被归并完成后,排序即完成,便是成功的完成了排序

2014-06-15 17:24:19 1258

原创 基本排序系列之直接插入排序

直接插入排序一、基本思想:        直接插入排序是在一列数的基础上把第一个数看成已经排序好的数,如果小于这个数就排在其前面否则排在其后面,就这样可以不断被的插入新的元素直到所有的数都插入完毕,这样这列数就排列好了。二、举个例子,以a[10]={2,1,0,4,5,3,6,7,9,8}为例:第一次排序好的:[2]   1第二次排序好的:[1    2]  0第三次排序好

2014-06-15 12:24:06 652

原创 基本排序系列之希尔排序

希尔排序一、希尔排序的基本思想希尔排序的基本思想就是把数进行分组,按照一定的规律分组,最先可以按照d1这个增量分组,d1=n/2(n为数组中数的长度)来分成d1个分组,然后对分组内部的数进行直接插入排序再设置第二个增量d2来分组,如d2 = d1/2这样来分组直到增量为1停止。二、对于这样的一个数组:a[10] ={2,1,4,3,5,7,6,8,0,9}d1增量为10

2014-06-13 12:33:36 626

原创 基本排序系列之最简单讲述堆排序

最简单,最直接的讲述堆排序一、什么是堆,何来堆排序呢?堆是一颗完全二叉树,且父节点必须大于子节点。什么叫完全二叉树呢,完全二叉树指的是前面n个节点都是满二叉树中的节点换句话说就是完全二叉树的子节点必须处于树的最后两行,且是从左到右的顺序。二、堆排序的基本思想通过对堆的调整得到根节点,因为调整后的根节点是整棵树最大的,这样就得到了此时的最大值,这时将这个根节点下标识数组第一个数,所以

2014-06-13 01:15:20 625

原创 基本排序系列之简述快速排序,快速掌握快排

快速排序快速排序的算法复杂度最大可达到O(n*n)但平均算法复杂度为o(n*logn),由于快排采用了分治法,挺好用的,而且排序效率相对其他几种排序算法效率更高。快排采用的是一般取第一个数为基准小的放在左边,大的放在右边,然后再对左边的进行分治,再右边的,按此下去达到排序的目的。下面简述快排的思想: 如:数组a[5] = {2,4,5,1,6}以第一个数a[0]即2为基准,指针

2014-06-12 00:23:45 787

转载 9种基本的排序算法的总结

排序算法可以说是计算机专业学生要学习的最基础的算法,但其实也是最重要的,现在大部分互联网公司笔试面试也都会涉及到排序算法的知识。除了了解思想之外,还应该动手写一写,分析一些具体思路、时间复杂度、空间复杂度和稳定性等。我们面试讨论小分队也简单讨论了一下排序算法,为了加深记忆,我自己也动手写了一些代码(Linux平台写的,自己测试是通过了),并做一些分析(由于水平较水,代码可能有误!)。

2014-06-11 11:28:53 759

原创 KMP 字符串的匹配算法

一、KMP算法与Brute-force算法的最大区别就在于KMP算法在比较时,主串的指针i不用回溯,只需回溯字串的指针j而Brute-force算法就是简单的从第一个字符比到最后一位,这时需要对主串的i进行回溯,这样算法的比较次数明显增多KMP的算法复杂度可为O(m +n)而Brute-force的算法复杂度可为O(m*n)。二、在做KMP时我们可以知道每一次字串j的回溯,即每一次字串

2014-06-11 11:01:32 680

原创 链表的创建

/这里是链表的创建其包含的是头指针phead,头节点,以及尾节点p->next = NULL 为链表创建结束标志。/判断指针为空十分重要,当然也不能忘了释放,代码是:if(head !=NULL){free(head);head = NULL; }head = (SLNode*)malloc(sizeof(SLNode));head->data=x;if(h

2014-06-09 18:49:57 700

原创 字符串的动态存储结构的代码实现

/***毕竟这只是简单的串的链式存储结构,不过不同的对象操作不一样 *在此为了简化操作,很多菜单啊,选择结构之类的都省去了,这些都可以在之前的一些链表的基本的错中 *可以得到的仔细的结果,链表的操作是特别的重要的 ,尤其是链表的存储结构链式存储结构涉及到开辟空间 *地址的传递,指针等操作,所以在此有必要仔细研究这些,这是我系统的重新对数据结构重新编写一遍的结果 *纯属于个人的理

2014-06-03 12:28:40 868

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除