
数据结构与算法
stillvxx
这个作者很懒,什么都没留下…
展开
-
排序算法之一——插入排序
大多数纸牌玩家都用插入排序方法来给纸牌排序:他们保持手上的纸牌有序,每新抓取一张纸牌,将新纸牌插入到合适的位置。要对数组x[n]进行排序,我们从有序子数组x[0..0]开始(只包含一个元素x[0],当然有序),然后按照下面伪代码所示的方法,插入元素x[1]...x[n-1]。伪代原创 2011-08-29 22:44:38 · 467 阅读 · 0 评论 -
排序算法之二——合并排序
有很多算法在结构上是递归的:为了解决一个给定的问题,算法要一次或多次地递归调用起自身来解决相关的子问题 。这些算法通常采用分治策略:将原有问题划分成n个规模较小而结构与原问题相似的子问题;递归地解决这些子问题,然后再合并其结果,就得到原问题的解。分治模式在每一层递归上都有三个原创 2011-09-05 13:29:01 · 1336 阅读 · 0 评论 -
排序算法之三——快速排序
像合并排序一样,快速排序也是基于分治策略。下面是对一个典型子数组A[p..r]快速排序的分治过程的三个步骤:分解:将数组A[p..r]分解成两个(可能为空)子数组A[p..q-1]和A[q+1..r],使得A[p..q-1]中所有的元素都小于等于A[q],而A[q+1..r]原创 2011-09-12 13:22:43 · 714 阅读 · 0 评论