算法笔记
Aaron2019ECNU
这个作者很懒,什么都没留下…
展开
-
PTA 7-37 整数分解为若干项之和 深度优先搜索算法
将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,…。编程求出正整数N的所有整数分解式子。 输入格式: 每个输入包含一个测试用例,即正整数N (0<N≤30)。 输出格式: 按递增顺序输出N的所有整数分解式子。递增顺序是指:对于两个分解序列N1={n1,n2,⋯}和N2={m1,m2,⋯},若存在i使得n...转载 2019-03-06 11:59:43 · 679 阅读 · 0 评论 -
直接插入排序的严格定义写法与优化算法
今天为了做PTA习题中一个求数组中位数的题目,复习了希尔排序,又引申到插入排序的写法。 发现插入排序在教科书上的严格定义写法还可以进一步优化,减少一个for循环,从而优化时间开销。 教科书严格定义写法: void Insertsort1(int a[],int n){ int i, j, k; for (i = 1; i < n;i++){ //为a[i]插入...原创 2019-03-03 20:12:30 · 333 阅读 · 0 评论 -
希尔排序
直言不讳,这是我最tm烦的排序算法,有点记不住。但是对于长度很大的排序这又是一个很高效的算法。 #include<stdio.h> void shellsort1(int a[], int n) { int i, j, gap; for (gap = n / 2; gap > 0; gap /= 2) //步长 for (i = 0; i < gap; i++...原创 2019-03-03 20:26:11 · 166 阅读 · 0 评论