自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

l-jobs的专栏

莫道征途路漫漫,愿效江水去不还

  • 博客(15)
  • 资源 (8)
  • 收藏
  • 关注

原创 bfprt算法求最小的k个数

bfprt算法是一种经典的线性时间内求最小的第k个数或者最小的k个数的算法。比如我们要知道销量是前几名商品或者是浏览量最多的前几个网站,我们不需要排序,利用bfprt算法就可以完成。bfprt算法又称快速选择算法,其思想是利用快速排序的划分来确定位置。此算法经典而优雅,值得我们学习。步骤         1.将输入的元素划分为5个元素一组,至多有一组不足5个元素。

2016-01-30 11:59:27 1014

原创 求无序数组之中最小的k个数

在无序数组中国找最小的k个数,一般有以下几种办法:  1.比较排序,然后找最小的k个数,时间复杂度下界为O(nlogn)  2.计数排序,时间复杂度可以做到O(n),但是要看具体的数据情况。也比较费空间。以上做法都是把所有元素的个数排好序,但是我们只需要找到前k个最小的数,不要求所有数据有序。  3.遍历所有数据,找到最小的数。再遍历剩下的数,找第二小的数,如此遍历k次,时间复杂度

2016-01-29 15:56:57 1967

原创 快速排序的优化

注:以下代码参考博客参考博客地址快速排序的期望时间复杂度为O(nlogn),最坏时间复杂度为O(n²)。为了避免出现最坏情况,我们可以对其进行改进。1.哨兵的改进,为了使每次划分的数不致于使两边相差过大,我们可以选择三者取中法选哨兵,即首尾和中间数的中位数来作为哨兵。2.小数据量的改进,递归的快速排序在大概n3.相同数字的改进,在存在大量相同数字的时候快速排序是很慢的,我们采用

2016-01-29 12:33:58 640

原创 非比较排序

基于比较的排序时间复杂度下界以下内容参考自《算法导论》基于比较的排序算法可以用一颗完全二叉树(决策树)来表示,节点表示每一次的比较过程,叶子节点表示最终的排序顺序,叶子节点一共有n!个(n表示数据个数,一共有n!种排列方式)二叉树的高度h就是比较的次数,由二叉树的性质,叶子节点的个数不大于2^h,所以有2^h>=n!;2^h>=n! = n*(n-1)*(n-2)*...*

2016-01-18 20:43:28 986

原创 求连续子数组的最大和

问题描述:给定一个n个元素的整型数组,求出最大的连续子数组的始末位置与最大连续子数组的和。问题分析:       这个问题在网上有很多资料可以参考,可惜大部分资料是不完善或者有错误的,在《算法导论》里面这个问题是用来介绍分治算法的,但是这道题作为常考的面试题,从里面可以学到的东西还是很多的,所以在这里学习一下,有什么问题请多指正。首先我们应该考虑的是边界条件和特殊情况:1.如果

2016-01-17 14:11:17 486

原创 求多项式相加的迭代算法

问题描述:假设有n+2个实数a0,a1,…,an,和x的序列,要对多项式Pn(x)= anxn +an-1xn-1+…+a1x+a0        求值,直接方法是对每一项分别求值,并把每一项求的值累加起来,这种方法十分低效,它需要进行n+(n-1)+…+1=n(n+1)/2次乘法运算和n次加法运算。        通过如下变换我们可以得到另一种算法,即Pn(x)= anxn

2016-01-16 10:36:45 2353

原创 归并排序

归并排序是一种利用分治思想来排序的算法。其核心思想是       不断合并有序数据,直到所有数据有序为止。       这里介绍二路归并,即初始有序长度为1,然后两两归并,如果重复,直到所有元素有序。       二路归并的递归算法比较简洁,但是实用性很差。因为它调用了递归栈,需要额外的空间log2n次,再加上需要与数据等长度的额外数组,所以空间复杂度是o(n),归并算法的时间复杂度是

2016-01-13 14:13:56 352

原创 选择排序

选择排序的核心思想是:         给定一组数据,选出最小(大)的放在合适位置上,然后在剩下的数据中选择最小(大)的不放在合适位置,不断重复这个过程,直到所有的数据都有序。简单选择排序             简单选择排序的操作为:通过n-i次关键字间的比较,从n-i+1个记录中选择关键字最小的记录,并和第i(1。总的比较次数为n(n-1)/2,时间复杂度是o(n^2),原地排序,

2016-01-13 11:32:20 395

原创 交换排序

交换排序的核心思想是:            给定一组数据,两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。         基于交换思想的排序方法有两种,冒泡排序和快速排序。冒泡排序             基于交换的思想其实比较符合人们的认知,冒泡排序就是依次比较两个关键字,如果发现两者的关系是逆序,就交换,第一次两两比较可以得出最大

2016-01-12 22:16:56 601

原创 插入排序

插入排序是一种经典的排序算法,其中心思想就是:          给定一组数据,划分为有序区和无序区,在无序区的元素选出一个插入到有序区,使之仍然有序,重复以上步骤,直到无序区不再有元素为止。直接插入排序       一开始我们认为一个元素就是有序的,直接插入排序就是认为第一个元素有序,然后从第二个元素开始比较,插入到前面,共需比较n-1次,第n次移动的最多次数是n次,总共的移动次

2016-01-12 19:49:26 561

原创 sublime text2对编译无反应的解决办法

今天用sublime text2搭建c/c++的gcc编译环境,无奈按照网上的方法,其它环境都配好了,但是就是ctrl+B编译不了程序。经过多次排查,发现了几个问题。1.配置的问题,就是builder文件写错了,在网上找了很多的代码,试过都不行,然后故意删掉一个大括号,会报错说明如果配置错误,那么程序会报错,不是配置的问题。2.sublime text2原来配置

2016-01-12 13:09:45 5049

原创 Sublime Text2安装Package Control和插件

我们可以使用sublime下载各种好用的插件,前提是先安装package Control.1.安装package Control:在线安装,首先打开 Ctrl + ~,输入如下的代码(确保有网)import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path()

2016-01-07 11:45:13 596

原创 Windows环境下使用Sublime text2进行lua的配置

这里需要lua的解释器,如何生成可以参考我的另外一篇博客点击打开链接在官网上下载sublime text2,然后安装。点击工具栏,Tool->Build System->New Build System在新建的脚本文件里输入以下代码{ "cmd": ["lua", "$file"], "file_regex": "^(?:lua:)?[\t ](..

2016-01-07 11:19:21 2438

原创 Cocos在windows7下的配置与apk打包

Cocos极大的方便了我们的开发,我们不需要像以前那样麻烦的创建项目,而是把所有的东西都集中在Cocos平台里面,下面介绍一下如何搭建Cocos开发环境。工具:python3.5,win764位系统,cocosv2.3.3,VS2015注意:1.一下所有安装路径一律不得出现中文字符,否则可能会出错。2.JDK、NDK、SDK、Framework的安装路径电脑的系统环境变量配

2016-01-04 16:04:03 842

原创 堆排序的初步学习

注:以下堆排序的代码借鉴了博客http://blog.csdn.net/morewindows/article/details/6709644/这个排序算法的时间复杂度为O(nlogn),主要是花费在建堆和调整堆上。所以对记录数较少的文件并不值得提倡,但是由于它的最坏时间复杂度是O(nlogn),所以对于记录数较多的文件是比较有效的。堆的概念介绍完全二叉树如果满足每一个父节

2016-01-01 11:19:33 508

Java提取EXCEL图片重命名并改变像素大小jar包

Java提取EXCEL图片重命名并改变像素大小jar包,

2020-11-16

Java提取EXCEL图片重命名并改变像素大小

Java提取EXCEL图片重命名并改变像素大小项目源代码, Java提取EXCEL图片重命名并改变像素大小, Java提取EXCEL图片重命名并改变像素大小

2020-11-16

Java的工具包Jtop.jar

Java的工具包Jtop.jar,Java的工具包Jtop.jar,Java的工具包Jtop.jar,Java的工具包Jtop.jar,Java的工具包Jtop.jar,

2018-02-01

iMapMind7和谐包

iMapMind7和谐包,方便做思维导图的力具!有需要的朋友可以下载一下。

2015-07-18

破碎的砝码问题源码

这是用C语言解决的破碎的砝码问题的源代码,有兴趣的算法初学者可以看看

2015-05-16

C语言程序 解决24点

解决24点问题的C语言程序,有兴趣的朋友可以看看,谢谢!

2015-05-14

八皇后问题的C语言程序

八皇后问题的C语言程序,有兴趣的算法初学者可以看看,谢谢

2015-05-14

24点的C语言程序

这是用C语言解决24点问题的源文件,学习算法的初学者或者对24点有兴趣的朋友可以看看

2015-05-14

空空如也

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

TA关注的人

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