西安交通大学:《计算机软件基础》第7单元 排序(刘志强)

第7单元 排序 计算机软件基础 The software bas ic of computer 下一页 主讲:刘志 西安文通大学 计算机教学实验中心
下一页 计算机软件基础 The software basic of computer 主讲:刘志强 西安交通大学 计算机教学实验中心 第7单元 排序

教学目标 ●了解有关排序的 基本概念 排序的典型算法 上一页 停止放映 下一页 第2页
下一页 上一页 停止放映 第 2 页 教学目标 ⚫ 了解有关排序的 –基本概念 –排序的典型算法

教学要求 通过本单元的学习,了解、掌握有关排序的: ●基本概念 排序、排序分类、算法稳定性 典型的排序算法 插入排序、选择排序、交换排序 快速排序、归并排序 上一页 停止放映 下一页 第3页
下一页 上一页 停止放映 第 3 页 教学要求 通过本单元的学习,了解、掌握有关排序的: ⚫ 基本概念 –排序、排序分类、算法稳定性 ⚫ 典型的排序算法 –插入排序、选择排序、交换排序 –快速排序、归并排序

基本概念 ●排序 ●排序分类 ●算法稳定性 上一页 停止放映 下一页 第4页
下一页 上一页 停止放映 第 4 页 一、基本概念 ⚫ 排序 ⚫ 排序分类 ⚫ 算法稳定性

排序( Sorting ●就是将记录按关键字递增(递减)的次序 排列起来,形成新的有序序列,称为排序。 设n个记录的序列为{R1,R2,…,Rn},其相 应关键字序列为{K1,K2,…,Kn},需确定 种排序P1,P2,,,Pn,使其相应的关键 字满足递增(升序),或递减(降序)的关系 Kp1≤Kp2≤...≤Kpn 上一页 或 停止放映 Kp1≥Kp2≥≥Kpn 下一页 第5页
下一页 上一页 停止放映 第 5 页 排序(Sorting) ⚫ 就是将记录按关键字递增(递减)的次序 排列起来,形成新的有序序列,称为排序。 设n个记录的序列为{R1,R2,…,Rn},其相 应关键字序列为{K1,K2,…,Kn},需确定 一种排序P1,P2,…,Pn,使其相应的关键 字满足递增(升序),或递减(降序)的关系: Kp1 Kp2 ... Kpn 或 Kp1 Kp2 …. Kpn

排序分类 ●根据排序元素所在位置的不同,排序分: 内序和外芽序 ●内序 在排序过程中,所有元素调到内存中进行 的排序,称为内排序。内排序是排序的基 础。内排序效率用比较次数来衡量 外#序 上一页 在数据量大的情况下,只能分块排序,但 停止放映 块与块间不能保证有序。外排序用读/写 下一页 外存的次数来衡量其效率。 第6页
下一页 上一页 停止放映 第 6 页 排序分类 ⚫ 根据排序元素所在位置的不同,排序分: 内排序和外排序。 ⚫ 内排序 在排序过程中,所有元素调到内存中进行 的排序,称为内排序。内排序是排序的基 础。内排序效率用比较次数来衡量。 ⚫ 外排序 在数据量大的情况下,只能分块排序,但 块与块间不能保证有序。外排序用读/写 外存的次数来衡量其效率

内排序方法分类 内排序方法有许多种 按排序过程中依据的不同原则分类: 插入、交换、选择、归并和基数排序等; 按排序过程中所需工作量来区分: 简单排序(0(n)) 快速排序(0( nlogn)) 基数排序(0(d*n)) 上·排序过程中所需进行的操作 停止放映 比较两个关键字的大小 下一页 移动记录的位置 第7页
下一页 上一页 停止放映 第 7 页 内排序方法分类 ⚫ 内排序方法有许多种: –按排序过程中依据的不同原则分类: • 插入、交换、选择、归并和基数排序等; –按排序过程中所需工作量来区分: • 简单排序(O(n )) • 快速排序(O(nlogn)) • 基数排序(O(d*n)) ⚫ 排序过程中所需进行的操作: –比较两个关键字的大小 –移动记录的位置 2

排序算法的稳定性 ●若待排序的序列中,存在多个具有相 同关键字的记录,经过排序,这些记 录的相对次序保持不变,则称该算法 是稳定的; ●若经排序后,记录的相对次序发生了 改变,则称该算法是不稳定的。 上一页 停止放映 下一页 第8页
下一页 上一页 停止放映 第 8 页 ⚫ 若待排序的序列中,存在多个具有相 同关键字的记录,经过排序,这些记 录的相对次序保持不变,则称该算法 是稳定的; ⚫ 若经排序后,记录的相对次序发生了 改变,则称该算法是不稳定的。 排序算法的稳定性

排序算法的数据结构 ●顺序存储结构(C语言描述) #define n struct record int key int otherterm t ypedef struct record RECOrd 上一页 RECORD file[N+1 停止放映 下一页 第9页
下一页 上一页 停止放映 第 9 页 ⚫ 顺序存储结构(C语言描述): #define N n struct record { int key ; int otherterm; } ; typedef struct record RECORD; RECORD file[N+1]; 排序算法的数据结构

、典型排序算法 插入排序 选择排序 交换排序 快速排序 归并排序 上一页 停止放映 下一页 第10页
下一页 上一页 停止放映 第 10 页 二、典型排序算法 • 插入排序 • 选择排序 • 交换排序 • 快速排序 • 归并排序
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西安交通大学:《计算机软件基础》第4单元 非线性数据结构树、二叉树.ppt
- 西安交通大学:《计算机软件基础》线性数据结构(二)(仇国巍).ppt
- 西安交通大学:《计算机软件基础》第1单元 概述.ppt
- 西安交通大学:《计算机软件基础》第17单元 面向对象方法(赵英良).ppt
- 西安交通大学:《计算机软件基础》第13讲 数据库设计基础和SQL语言.ppt
- 西安交通大学:《计算机软件基础》第16单元 传统程序设计方法.ppt
- 西安交通大学:《计算机软件基础》第15单元 软件工程概论(赵英良).ppt
- 西安交通大学:《计算机软件基础》第11单元 数据库——数据库概述.ppt
- 西安交通大学:《计算机软件基础》第12单元 关系数据库及数学基础.ppt
- 西安交通大学:《计算机软件基础》第5单元 非线性数据结构.ppt
- 西安交通大学:《计算机软件基础》第7单元 排序.ppt
- 西安交通大学:《计算机软件基础》第9单元 操作系统的存储器管理和设备管理.ppt
- 西安交通大学:《计算机软件基础》第8单元 操作系统基础(赵英良).ppt
- 西安交通大学:《计算机软件基础》第6单元 查找.ppt
- 西安交通大学:《计算机软件基础》第4单元 非线性数据结构——树、二叉树(递归结构).ppt
- 西安交通大学:《计算机软件基础》第3单元 线性数据结构 (二).ppt
- 西安交通大学:《计算机软件基础》第1单元 软件概述.ppt
- 西南交通大学:《数据库原理与技术》第三章 关系数据库系统RDBS.ppt
- 西南交通大学:《数据库原理与技术》第一章 数据库系统概述.ppt
- 西南交通大学:《数据库原理与技术》第五章 数据库安全性.ppt
- 西安交通大学:《计算机软件基础》第5单元 非线性数据结构图.ppt
- 西安交通大学:《计算机软件基础》第8单元 操作系统基础(刘志强).ppt
- 西安交通大学:《计算机软件基础》第6单元 查找.ppt
- 西安交通大学:《计算机软件基础》第9单元 存储器与设备管理.ppt
- 西安交通大学:《计算机软件基础》第12单元 关系数据库及数学基础.ppt
- 西安交通大学:《计算机软件基础》第10单元 典型OS平台下编程模式.ppt
- 西安交通大学:《计算机软件基础》第15单元 软件工程概论.ppt
- 西安交通大学:《计算机软件基础》第14单元 Access提高(刘志强).ppt
- 西安交通大学:《计算机软件基础》第17单元 面向对象方法.ppt
- 西安交通大学:《计算机软件基础》第13单元 Access入门.ppt
- 西安交通大学:《计算机软件基础》关系型数据库标准语言—SQL.ppt
- 西安交通大学:《计算机软件基础》第11单元 数据库_1 数据库概述.ppt
- 西安交通大学:《计算机软件基础》第16单元 传统程序设计方法.ppt
- 北京大学:《计算机图形学》第三讲 一个简单的二维光栅图形软件包.ppt
- 北京大学:《计算机图形学》第四讲 二维图元生成算法.ppt
- 北京大学:《计算机图形学》第五讲 二维裁剪.ppt
- 北京大学:《计算机图形学》第六讲 图形变换.ppt
- 北京大学:《计算机图形学》第七讲 图形用户界面与人机交互.ppt
- 北京大学:《计算机图形学》第八讲 投影.ppt
- 北京大学:《计算机图形学》第九讲 曲线与曲面.ppt