算法
文章平均质量分 80
会编程の皮卡丘
我一直在奔跑,从未停歇
展开
-
算法导论学习笔记之算法基础篇
一、插入排序插入排序属于原址排序,算法在数组A中重排元素,算法思想与玩扑克牌时依次将抓到的牌放到手中合适的位置一致,当输入完成时,手中的牌即已完成排序。 插入排序(A) for j = 2..A.length setp = 1 //A 下标从 1 开始计数 key = A[j] i = j - 1 while i > 0 && A[i] > key A[原创 2016-09-03 17:15:26 · 184 阅读 · 0 评论 -
算法导论学习笔记之堆排序
一、堆概念(二叉)堆是一个数组,它可以看成一个近似的完全二叉树,树上的每个结点对应数组中的一个元素。除了最底层外,该树是完全充满的,而且是从左向右填充的它有这样的性质:原创 2016-09-03 20:26:32 · 123 阅读 · 0 评论 -
算法导论学习笔记之快速排序
一、快速排序思想与归并排序类似,快速排序同样使用了分治思想:分解:数组A[ p..r ]被划分成2个可能为空的子数组A[p..q-1]和A[q+1..r]使得A[p..q-1]中的所有的元素都小于等于A[q]而且A[q+1..r]中的所有元素都大于等于A[q]计算下标 q 也是过程的一部分解决:递归的调用快速排序对子数组进行排序合并:快速排序是原址的,不需要合并操作原创 2016-09-04 09:37:16 · 176 阅读 · 0 评论