- 博客(3)
- 资源 (14)
- 收藏
- 关注
原创 排序------------------分治策略与组合法
1.分治法 插入排序使用增量法:在排好的A[1],A[2],...,A[j - 1]子数组后(A[1]为第一个元素),将A[j]插入,形成排好的子数组A[1],A[2],...,A[j]。 分治法是解决递归问题的一种策略:将原问题分成n个规模较小而结构与原问题相似的子问题,递归地解决这些子问题,然后再合并这些结果,得到原问题的解。 分治法在每层递归上都分为三步: 分解:将原问题分为一系列子
2012-03-21 15:09:56 799
原创 排序-----------------插入排序,冒泡排序
1.插入排序 INSERT-SORT 设数组A是无序数组 非降序 for( i = 2; i { key = A[i]; j = i - 1; while( j >= 1 && A[j] > key) { A[j + 1] = A[j]; j = j - 1; } a[j + 1] = key; } 非升序 for( i = 2; i {
2012-03-21 11:47:14 562
原创 排序----堆排序
插入、合并、堆、快速排序通过对数组中的元素进行比较来实现,对任何n个输入来说,最坏运行时间下界为Ω(n*lgn)。 注:lgn是log2(n) A是一个任意数组,这里举例为A[10] = {16,14,10,8,7,9,3,2,4,1} 将数组以二叉树形式展示,结点下标与数组下标对应: i的父节点parent(i) = i/2 左节点left(i) = 2i 右节
2012-03-16 17:32:06 626
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人