![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法导论
文章平均质量分 68
fly_with_the_winds
热爱编程,熟悉C/C++
展开
-
算法导论笔记一:算法设计之分治法
分治法的设计思想是利用某些算法递归的特性,将原问题分解为n个结构相似的子问题,递归解决这些子问题,在合并其结果,便得到原问题的解,代表算法为合并排序法。 合并排序法的原理是将原序列分为两个子序列,将两个子序列分别排序后进行合并,得到一个完整的排序序列。序列分解的最终结果是含有一个元素,单个元素即可视为已排序序列。合并排序的关键步骤是两个已排序序列的合并,其代码如下。#include u原创 2013-08-09 22:02:03 · 447 阅读 · 0 评论 -
算法导论二:快速排序
快速排序采用的是分治策略,其方法是将一个数组a[p,r]划分为两个子数组a[p,q-1],a[q+1,r],使其左子数组元素中的元素均小于等于a[q],右子数组元素均大于a[q],并递归划分两个子数组。其代码如下: #include using namespace std; template int partition(T a,int p,int r) { //选择a[r]作为主原创 2013-08-18 21:25:53 · 440 阅读 · 0 评论