自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 排序算法总结

同样先上这张图最后我们总结一下这八种排序算法:

2016-09-13 11:46:48 240

原创 排序算法之基数排序

还是先看一下这张图:下面分析一下基数排序:

2016-09-13 11:44:42 234

原创 排序算法之归并排序

归并排序把数组划分成几个小数组,然后小数组成划分,直到每个数组都只有一个元素,然后将相邻的两个数组进行合并,再将合并后的数组继续合并,直到合并成一个数组。总体的思想是先拆分再合并。

2016-09-13 11:43:33 257

原创 排序算法之快速排序

先看一下下面这张图下面分析选交换排序之快速排序:快速排序的思想是先选择一个基准元素(一般取第一个元素),然后对剩下的元素作两端遍历,左边找到比基准元素大的元素,右边找到比基准元素小的元素,两者交换,重复下去直到low>high,再把基准元素跟high交换。这样一遍下来,基准元素左边的元素都比基准元素小,基准元素右边的元素都比基准元素大。然后对基准元素左边和右边分

2016-09-13 11:40:31 371

原创 排序算法之冒泡排序

同样的先上这张图下面分析交换排序之冒泡排序:冒泡排序和选择排序很相似,都是遍历一趟把最大的元素放到最后面,但选择排序属于选择排序,而冒泡排序属于交换排序,原因在于冒泡排序在找最大元素的时间,两两比较之后会作交换,这样使得一趟排序下来不仅把最大元素放到了后面,同时让前面的元素也更加有序。原版的冒泡排序较之选择排序效率上不仅没有提高,反而会更差。因为冒泡排序同样也需

2016-09-13 09:47:53 480

原创 排序算法之希尔排序

同样的先上这张图下面分析希尔插入排序:希尔排序将序列根据增量d分成几个子序列,对每个子序列作插入排序。然后把增量d变为d/2,重复这个过程直到d=1,这时的希尔排序其实就是插入排序。希尔排序的算法效率与增量因子有关,目前还没有确定的最好因子,其时间复杂度可认为是O(nlogn)。希尔排序不需要额外的辅助空间,其空间复杂度为O(1)。希尔排序在对每

2016-09-13 09:28:28 686

原创 排序算法之插入排序

同样的先上这张图下面分析插入排序:插入排序每次取一个元素插入到已排好序的序列中。由于前面的序列已经排好序,我们只需要从这个序列的后面开始查找,找到第一个大于待插入元素的位置,将该位置后面的元素全部往后移一个位置,并把待排元素插入到该位置之后。插入排序外层循环选择待排元素,时间复杂度为O(n),内层循环找插入位置,最好情况是直接插入到最后,时间复杂度为O(1),最坏情况可能是

2016-09-13 09:06:01 380

原创 排序算法之堆排序

同样的先上这张图下面看一种较为复杂的选择排序 ——堆排序:首先来看一下什么是堆,堆用一个一维的数组模拟二叉树的结构,即堆数组的第一个元素为第二、第三个元素的父结点,即第i(i从0开始)个元素是第2i+1和第2i+2个元素的父结点,由此我们可以计算最后一个结点的父结点,设为j。由j=2n+1(n为偶数)和j=2n+2(n为奇数)得j=floor(n/2)。知道了堆的定义之后我们用

2016-09-12 23:57:22 657

原创 排序算法之选择排序

选择排序第一次从头遍历n个元素,找到最大(最小)的元素并放到最后。第二次从头遍历n-1个元素,同样找到最大的元素,放到n-2(即第n-1个元素)的位置。以此下去,直到只剩下第一个元素,排序结束。选择排序简单粗暴,实现起来比较容易,外层循环控制已经排好序的个数,内层循环遍历前n个元素找到最大元素放到n-1位置。也正是因为它的简单粗暴

2016-09-12 22:39:39 438

原创 Alternativa3D学习笔记之HelloWorld

A3D的基本元素有3D舞台Stage3D,3D摄像机Camera3D,摄像机的视图View,3D显示对象Object3D和材质Material。另外,程序中所有的显示对象必须加到一个根容器rootContainer上,其本质上是一个Object3D。要想让场景响应鼠标和键盘事件,以控制摄像机,我们可以声明一个简单控制器SimpleObjectContainer,当然这个控制器并不好用,我们可以在以

2016-09-12 10:32:10 765

原创 Vi(Vim)常用命令记载

Vi(Vim)作为一个强大的编辑器,其强大的功能由非常多的命令支撑;这么多的命令靠死记硬背显示是不行的,而是需要在训练中强化记忆。这个帖子只是对常用命令作一个记录,基本上是根据vimtutor来记录的。

2016-09-08 15:24:27 229

原创 Linux学习笔记之文件操作

一、基本操作ls显示文件列表 -l 以详细信息显示 -a 显示所有,包括隐藏文件pwd显示目录路径.当前目录..父目录cd切换目录二、文件操作1、创建文件:touch2、删除文件:rm3、移动或重命名文件:mv4、查看文件内容:cat5、查看文件头:head -n 行数6、查看文件尾:tail -n 行数 -f 动态显示

2016-09-06 14:09:14 232

空空如也

空空如也

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

TA关注的人

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