《常用算法-排序(部分).ppt》由会员分享,可在线阅读,更多相关《常用算法-排序(部分).ppt(6页珍藏版)》请在三一办公上搜索。
4.1 排序概述,内部排序外部排序,4.2 冒泡排序法,冒泡排序法的基本思想是:对待排序记录关键字从后往前(逆序)进行多遍扫描,当发现相邻两个关键字的次序与排序要求的规则不符时,就将这两个记录进行交换。这样,关键字较小的记录将逐渐从后面向前面移动,就象气泡在水中向上浮一样,所以该算法也称为气泡排序法。,4.2.1 冒泡排序法,4.3 快速排序法,快速排序使用分治策略来把待排序数据序列分为两个子序列,具体步骤为:(1)从数列中挑出一个元素,称该元素为“基准”。(2)扫描一遍数列,将所有比“基准”小的元素排在基准前面,所有比“基准”大的元素排在基准后面。(3)通过递归,将各子序列划分为更小的序列,直到把小于基准值元素的子数列和大于基准值元素的子数列排序。,4.4 直接插入排序法,插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后移动,为最新元素提供插入空间。,4.5 合并排序法,合并排序(Merge Sort)就是将两个或多个有序表合并成一个有序表。,4.6 排序算法的选择,1.选择基准计算的复杂度系统资源的使用稳定度 2.各种排序算法的优缺点,