您的位置:首页 > 理论基础 > 数据结构算法

算法和数据结构——交换排序(冒泡和快速)

2013-01-28 17:12 204 查看
交换——根据序列中的两个元素的关键字的比较结果来对换这两个记录在序列中的位置。

冒泡排序的基本要点:

需要多趟循环操作;
一趟冒泡:每一趟排序从前向后(或从后向前)两两比较相邻元素的值,若为逆序,则交换之;
一趟之后:最大(或最小)的元素交换到序列的最终位置;
一趟之后:前一趟已经确定的元素不再参与比较;
最多n-1趟冒泡就可以把所有元素排好序;
空间效率:空间复杂度为O(1);
时间效率:
稳定性:

快速排序算法是对冒泡排序算法的一种改进。快速排序的基本要点:

基于分治法,需要多趟循环操作;
任取一个元素作为基准——pivot;
一趟排序——将排序表划分为独立的两部分:一部分的所有元素小于pivot,另一部分的所有怨毒大于pivot,则pivot放在最终的位置上;
递归的对两个字表重复上述过程,直到每部分内只有一个元素或空为止,即所有元素都放到了最终的位置上;
算法的关键在于划分操作,算法的性能也取决于划分操作的好坏;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: