Algorithms
文章平均质量分 85
Kevin龙
Just run !
展开
-
《算法导论》读书笔记之第9章 中位数和顺序统计学 最坏情况是线性时间的选择算法
摘要: 本章所讨论的问题是在一个由n个不同数值构成的集合中选择第i个顺序统计量问题。主要讲的内容是如何在线性时间内O(n)时间内在集合S中选择第i小的元素,最基本的是选择集合的最大值和最小值。一般情况下选择的元素是随机的,最大值和最小值是特殊情况,书中重点介绍了如何采用分治算法来实现选择第i小的元素,并借助中位数进行优化处理,保证最坏保证运行时间是线性的O(n)。 1、基本概念转载 2014-01-27 16:22:01 · 1002 阅读 · 0 评论 -
快速排序-常见中轴(主元pivot)选择方法及实现代码(末位/随机/三数中值/..)
一、选取最后一个元素 在我们的课本中,看到最多的就是选择第一个元素作为中轴,但是在很多书上却选择最后一个元素作为中轴。下面就让我们来一睹选取最后一个元素作为中轴的快排。 注:本文中的所有算法都采用双向扫描法,即,设两个下标i和j,i和右扫描,j向左扫描,直到i不小于j。而当下标为i的数小于中轴时,跳过并继续向右扫描,否则停止扫描,并开始j的向左扫描,相对地,当下标为j的数大转载 2014-03-06 16:07:56 · 5160 阅读 · 1 评论