数据结构中内部排序算法的分析
- 格式:pdf
- 大小:155.84 KB
- 文档页数:2
3 ・ 8
Co u e a No 6 201 mp t r Er . 0
数据结构 中 内部排序算 法的分析
吴红芝 ,郭麦 成 ,吴 浩 ( 长江 大学计算 机科 学 学院研 究生院 ,湖北 荆 州 442) 303
摘 要 :排序是计算机程序设计 中经常遇到的一个重要 内容 , 它的功能是将一个数据集合 , 关键 字重新排 列成一个有 按
序 的序 列。然而, 由于排 序算法程 序须考虑设计路 线、 时间复杂度及稳定性 等因素 , 学者在理解上存在较大的 困难 , 初 文
章针对这些具体 问题 , 提供一些行之有 效的解决方法。
关键词 :排序 ;算法;稳定性 ;时间复杂度
Anayss f I t r l So tng Al ort l i o n e na r i g ihm i Da a t uc ur n t S r t e
从排序 的稳 定性 来看 , 稳定 的排序有 : 直接插入排序 、 折半
与其他算法 相比 , 序也是数 据结构 中的一种算法 , 排 只不 插入排序 、 冒泡排 序和归并排序 , 稳定的排序有 : 尔排 序 、 不 希 快 速排序 、 简单选 择排 序和堆排 序 ; 从排序算法 的时间复杂度 它也涉及到一种算 法的设计思想 、 参数 的引用及 时间复杂度等 来看 , 直接插入排序 、 半插入排序 、 折 冒泡排 序 、 简单选择排序
d t i ms no n re e sq e c b k y r . Ho v r b cus o h fco s whih aa t e it a o d rd e u n e y e wo d we e, e a e f te a tr c mu t e o sd r d n otn po rm , s b c n iee i s rig rg a
W U ngz i GUO M a—h g, W U Ha Ho —h , ic a n o
( rd aeS ho,C lg f C m ue S i c,Y n t nvri , ighu u e 4 4 2 ,C ia Ga ut col ol eo o p tr c ne a gz U i sy Jn zo,H bi 3 0 3 hn ) e e e e t
相关因素 ; 但与其他 算法有所不 同 , 序算法涉及到 了稳定性 的时问复 杂度为 o 。 希尔排序 的时间复杂度为 o , 排 () n, ( ) n 快速排 与不 稳定性 的概 念—— 关键 字相 同 , 排序后它们 的顺序不变的 序 、 堆排序和 归并排序的时间复杂度为 on g ) ( o 。 l n
Ab t a t S ri g s r mp r n m at r t n n o ntr d n o u e r g a s r c : o tn i a l i o t t a t of e c u e e i c mp t r p o r mm i g a d t f n t n s O e ra g a e o e e n , n is u c i i t r a r n e s t f o
s c a d sg r u e t c mp e i a d t b l y t e e s b g r blm i u e sa d n f r e i n r . F r h s s e i c u h s e in o t , i me o l x t y n s i t , h r i a i p o e a i n nd rt n i g o b g n e s o t e e p cf i p o l ms o f e tv olto s r r v d d. r b e ,s me e f c i e s u i n a e p o i e
复 杂度等五个方面具体分析 , 直接插入排序 、 冒泡 排序 、 快速排
用一种排 序方法进行排序 , 序后 , 2始终在 2的前面 , 排 若 则称 序 、 简单选择排序和堆排序 。此外 , 在排 序程序的设计中 , 引 将 用一个 数组 an来保 存排 序序列 , [l 排序序列 中的所 有元素均为
Ke r s o ig lo i m ;s b l பைடு நூலகம்t o l i y wo d :s r n ;ag r h t t t i t i c mp e t a i y me xy
0 引言
排序依据所 涉及的存储 器不 同, 分为 两大类 : 一类是 内部
1几种 排序算 法 的实现 过程
内部排 序按 其算法 设计 思想 的不 同 , 可分 为直接 插入排
排序 , 指的是对 存放 在计算机 存储 器中的待 排序记录进行的排 序 、 折半插入排序 、 希尔排序 、 冒泡排 序 、 快速排序 、 简单选择排 序过程 ; 另一类 则是外部排序 , 指的是待排序记录数量很大 , 以 序 、 堆排序 、 归并排序 和基数排序 等 。其 中的插入排序有直接 至 内存不能容纳全部记录 , 在排序过程 中尚需对 外存进行 访问 插入排序 、 半插 入排序和希 尔排序三 种 ; 折 交换排 序有 冒泡排 的排序过程。本文将主要讨论内部排序中的直接插入排序 、 简 序和快速排序 ; 选择排序有简单选择排 序和堆排序 。 单选择排序两种排序算法 , 并简要地 分析快速排序的稳定性 。 过它所实现 的功 能比较具体 , 即实现 无序 系列 的排序 。同样 ,
排序 方法称为 稳定排序 , 顺序有可能发生改变的排序方法称为 不稳定排序 。例如 , , 3 2, , l2, ,。5 序列 中有两个 2 标记为 2、。 , 2, 稳定 的排序 , 2有可能在 2的后面 , 若 则称不稳定的排序。 本文将 从排序算 法的设计思 想 、 程序设 计 、 稳定性 和时问