自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二维数组最大子矩阵的求和

问题描述:已知一个n*n的二维数组a[n,n],每个元素都是整数(可能小于0),求其子矩阵元素的最大和 问题分析:这个问题来自一维数列最大子序列的求和问题,因此必须对一维数列最大子序列的求和有充分的了解才有讨论基础,不了解的请参考《编程珠玑》第8章或《算法导论》的有关章节。该文中给出了5种算法,其中算法1野蛮求和的复杂度为O(n^3),算法2和算法3都利用了已有的计算结果减少重复计算其

2016-05-31 17:47:31 2157

原创 非实时系统精确定时器的实现

我们通常使用的系统,不管是linux还是windows,都是非实时系统。非实时系统可以获得很精确的当前时间,甚至可以通过读取cpu的某些寄存器得到以cpu周期计数的时钟,估计除了GPS系统之外足以应付我们日常能够碰到的应用,但是,非实时系统并没有提供精确的定时器实现。如果在linux或者windows系统中使用系统定时器,尽管我们可以创建精度为1ms甚至更小的定时器,但是实际执行的时候可以发现,定

2016-05-10 16:58:07 1472

原创 循环移位问题

循环移位问题是我面试技术人员的时候喜欢考的编码问题之一,对一个长度为n的数组,将其所有数据循环右移k位。对于编码能力要求不太高的岗位,比如部分测试,通常会让他做循环右移一位,大多数人员都可以成功的写出来;对于研发岗位,则要求写循环右移k位的算法,大部分人都不能正确的写出高效率的循环移位算法。为简单起见,我们只考虑k在0和n之间的情况,如果k不在这个区间,很容易转换成这个区间内的等价问题。

2016-05-02 22:29:25 1665 1

原创 从快速排序展开的

快速排序是速度最快的排序算法之一,算是非常经典的一个算法;其基本思路是对要排序的数字分而治之,首先选择一个数字a,对待排序数字进行交换,最终使得a处于一个合适的位置,使得所有比a小的数字都在a之前,所有比a大的数字都在a之后,然后分别对前后两个数据子集进行排序,将一个大集合的排序问题转化成两个小集合的排序,直到求出最终的排序结果。快速排序在排序有序或基本有序的数据时表现较差,最坏情况下的复杂度

2016-05-02 22:27:48 372

原创 逻辑的力量

亚里斯多德认为物体下落的快慢是由他们的重量决定的,由此促成了伽利略著名的”思想实验“(在某种程度上甚至可以认为推动了物理方法的完善和现代物理学的发展),这个实验的内容是:根据亚里斯多德的论断,一块大石头的下落速度要比一块小石头的下落速度大,假定大石头的下落速度是8,小石头的下落速度是4,当我们把两块石头捆在一起时,大石头会被小石头拖着而减慢,结果整个系统的下落速度应该小于8;但两块石头捆在一起,总

2016-05-02 22:23:29 1363

空空如也

空空如也

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

TA关注的人

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