码迷,mamicode.com
首页 >  
搜索关键字:递归 快速排序 详细分析    ( 22844个结果
usaco-3.1-PROB Shaping Regions-漂浮法
漂浮法,顾名思义,就是一块块的往上飘。 以逆序来进行放置,即n to 1。逆序的好处在于放置一个矩形后,俯视看到的就是最终俯视该矩形应该看到的。因为挡着它的矩形在之前已经放置好了,所以可直接统计,为递归创造了条件。每放一个矩形,可以想象成将其扔入一密度很大的海水底部,海分成了n层,然后矩形开始向上浮。在上浮过程中若碰撞到其他的矩形则断裂成几个小矩形,继续上浮,直到浮出水面。于是想到用个递归来模拟...
分类:Windows程序   时间:2014-07-22 23:04:13    阅读次数:394
BNU 34974 MATLAB大法好
MATLAB大法好  Time Limit: 8000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java class name: Main MATLAB大法好,天灭C++,退C保平安,人在做,天在看,大段循环留祸患,内存泄露电脑灭,跳出递归保平安。诚心诚念矩阵好,批量操作平安保,两行代码...
分类:其他好文   时间:2014-07-22 23:03:14    阅读次数:374
python数据结构与算法 34 归并排序
归并排序 在提高排序算法性能的方法中,有一类叫做分而治之。我们先研究其中第一种叫做归并排序。归并排序使用递归的方法,不停地把列表一分为二。如果列表是空或只有一个元素,那么就是排好序的(递归基点),如果列表有超过1个的元素,那么切分列表并对两个子列表递归使用归并排序。一旦这两个列表排序完成,称为“归并”的基本操作开始执行。归并是把两个有序列表合并成一个新的有序列表的过程。图10是我们熟悉的列表...
分类:编程语言   时间:2014-05-01 22:18:22    阅读次数:391
常见排序算法总结(java实现)
所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作...
分类:编程语言   时间:2014-05-01 22:02:12    阅读次数:360
求行列式的值(递归)
/*#include #include #define N 100#define LIM -100000000float det(float a[N][N],int n){ if(n==1) return a[0][0]; if(n==2) return a[...
分类:其他好文   时间:2014-05-01 20:26:45    阅读次数:322
LeetCode - Best Time to Buy and Sell 2
这道题我一开始想到用递归方法,可以把规模大的问题变成规模小的问题,但是觉得递归的时间复杂度很高,因为它会把相同的问题进行重复计算,然后我想是不是有什么down-up的方法,先把所有的子问题的结果保存起来,但是发现问题的最优解并不能由子问题的最优解推导出来。最后就想到买股票的时候,我们在一个局部极小的...
分类:其他好文   时间:2014-05-01 19:24:02    阅读次数:250
递归,回溯,DFS,BFS的理解和模板【摘】
递归:就是出现这种情况的代码: (或者说是用到了栈)解答树角度:在dfs遍历一棵解答树 优点:结构简洁缺点:效率低,可能栈溢出递归的一般结构:1 void f() {2 if(符合边界条件) {3 ///////4 return;5 }6 7 ...
分类:其他好文   时间:2014-05-01 19:20:17    阅读次数:343
深入理解快速排序算法的稳定性
在初次接触排序算法稳定性这个概念时,我一直认为复杂度为O(n2)的算法是稳定的,复杂度为O(nlogn)的算法是不稳定的。当时是这样理解的,复杂度为O(n2)的算法不可能再坏,而复杂度为O(nlogn)的算法在极端情况下可能会退化为O(n2),例如快速排序。但其实这是错误的,稳定性的概念远没有这么复杂,它只表示两个值相同的元素在排序前后是否有位置变化。如果前后位置变化,则排序算法是稳定的,否则是不...
分类:其他好文   时间:2014-05-01 17:20:58    阅读次数:278
由LCS到编辑距离—动态规划入门—算法学习笔记
一切计算机问题,解决方法可以归结为两类:分治和封装。分治是减层,封装是加层。动态规划问题同样可以用这种思路,分治。它可以划分为多个子问题解决,那这样是不是用简单的递归就完成了?也许是的,但是这样会涉及太多的不便的操作。因为子问题有重叠!针对这种子问题有重叠的情况的解决,就是提高效率的关键。所以动态规...
分类:其他好文   时间:2014-05-01 10:03:00    阅读次数:449
java代码面试常见的算法-mark
面试也是一门学问,在面试之前做好充分的准备则是成功的必须条件,而程序员在代码面试时,常会遇到编写算法的相关问题,比如排序、二叉树遍历等等。 在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序、二叉树查找等等。 本文总结了程序员在代码面试中最常遇到的10大算法类型,想要真正了解这些算法的原理,还需程序员们花些功夫。...
分类:编程语言   时间:2014-04-30 22:11:39    阅读次数:356
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!