插入排序: 1 class Class1 2 { 3
/*先将第一个记录视为一个有序序列,然后依次将后面的记录插入到这个有序序列中来。 4 *
每次要插入的记录时,须从后往前依次比较有序序列中的记录,直到找到在有序序列中的位置, 5 * ...
分类:
其他好文 时间:
2014-04-30 05:17:16
阅读次数:
461
对于包含N个数的输入数组来说,快速排序是一种最坏情况时间复杂度为O(n2)的排序算法。虽然最坏情况时间复杂度很差,但是快速排序通常是实际排序应用中最好的选择,因为它的平均性能非常好:它的期望时间复杂度是O(nlgn),而且O(nlgn)中的隐藏因子非常小。另外,它还能够进行原址重排,甚至在虚存环境中...
分类:
其他好文 时间:
2014-04-29 21:54:47
阅读次数:
508
求由所有的点组成的三角形中周长最小的三角形的周长1.将所有的点按横坐标大小排序2.从第一个点开始往后枚举,判断能否组成三角形,判断当前三角形周长是否小于已经得到的最小周长代码如下:#include#include#include#includeusing
namespace std;const do...
分类:
其他好文 时间:
2014-04-29 21:14:42
阅读次数:
504
2014-04-28
22:49题目:给定一个整数数组。如果你将其中一个子数组排序,那么整个数组都变得有序。找出所有这样子数组里最短的一个。解法:线性时间,常数空间内可以解决,思想类似于动态规划。通过正反扫描两次,可以得出这个区间的两端。只要存在i
a[j],那么这个区间[i, j]就必须被排序,....
分类:
其他好文 时间:
2014-04-29 16:11:53
阅读次数:
408
ASCII码排序时间限制:3000ms |
内存限制:65535KB难度:2描述输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。输入第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。输出对于每组输入数据...
分类:
其他好文 时间:
2014-04-29 14:57:52
阅读次数:
407
接触php这么久了,也就用过三种排序,冒泡排序,快速排序,木桶排序,今天就来学习一下冒泡排序:那么什么是冒泡排序,就像河里的气泡一样,一个一个的气泡浮出水面,而这里是一个一个的数字,他的原理是重复的走访(遍历)要排序的数列,比较相邻的两个数,把大的数移到右边,接着遍历,直到所有数完成从小到大的顺序。...
分类:
Web程序 时间:
2014-04-29 14:01:30
阅读次数:
571
计数排序(Counting
sort)是一种稳定的排序算法。计数排序使用一个额外的数组C,其中第i个元素是待排序数组A中值小于等于i的元素的个数。然后根据数组C来将A中的元素排到正确的位置。限制:所有值得取值范围不能太大,并且需要知道确切的取值范围。本算法需要的辅助空间要求较高。当输入的元素是
n ...
分类:
其他好文 时间:
2014-04-28 17:13:54
阅读次数:
558
最直观的解法,排序之后取下标为k的值即可。但是此处采取的方法为类似快速排序分块的方法,利用一个支点将序列分为两个子序列(支点左边的值小于支点的值,支点右边大于等于支点的值)。如果支点下标等于k,则支点就是查找的值,如果支点的下标大于k,则在左子序列里继续寻找,如果支点下标小于k,则继续在支点右子序列...
分类:
其他好文 时间:
2014-04-28 14:20:26
阅读次数:
458
LeetCode:Combinations这篇博客中给出了不包含重复元素求组合的5种解法。我们在这些解法的基础上修改以支持包含重复元素的情况。对于这种情况,首先肯定要对数组排序,以下不再强调修改算法1:按照求包含重复元素集合子集的方法LeetCode:Subsets
II算法1的解释,我们知道:若当...
分类:
其他好文 时间:
2014-04-28 14:00:43
阅读次数:
717