数据结构(第二版)第二十讲.pdfVIP

  • 0
  • 0
  • 约5.93千字
  • 约 6页
  • 2022-07-25 发布于上海
  • 举报
四川警安职业学院标准教案纸 四川警安职业学院标准教案纸 课程名称 数据结构 任课教师 田小东 授课时间 2010-- 地点 教 室 授课班级 08计应1—6班 人数 303人 1、算法和算法描述 教学目标 2、算法的评价 3、数据结构中常用编程知识点的介绍 教学重点 算法描述和数据结构中常用编程知识点的介绍 教学难点 算法的评价和数据结构中常用编程知识点的介绍 教学方 教学时数 2 讲授 教学手段 多媒体结合 法 教学内容: 第二十讲 第六章 排序 – 快速排序 • 基本思想:通过一趟排序,将待排序记录分割成独立的两部分,其中一部分记 录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录进行排 序,以达到整个序列有序 • 排序过程:对r[s……t]中记录进行一趟快速排序,附设两个指针i和j,设枢轴记录rp=r[s],x=rp.key – 初始时令i=s,j=t – 首先从j 所指位置向前搜索第一个关键字小于x 的记录,并和rp交换 – 再从i所指位置起向后搜索,找到第一个关键字大于 x 的记录,和rp 交换 – 重复上述两步,直至i==j为止 – 再分别对两个子序列进行快速排序,直到每个子序列只含有一个记录 为止 1 6 第 页 共 页 四川警安职业学院标准教案纸 voidqksort(JDr[],intt,ints) { inti,j,k; JDx; if(t=s) return; i=t;j=s; x=r[i]; while(ij) { while((ij)(r[j].key=x.key)) j--; if(ij) {r[i]=r[j];i++;} while((ij)(r[i].key=x.key)) i++; if(ij) {r[j]=r[i];j--; } } r[i]=x; qksort(r,t,j-1); qksort(r,j+1,s); } • 8.3 选择排序 – 简单选择排序 • 排序过程 – 首先通过n-1次关键字比较,从n个记录中找出关键字最小的记录, 将它与第一个记录交换 – 再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将 它与第二个记录交换 – 重复上述操作,共进行n-1趟排序后,排序结束 2 6 第 页 共 页

文档评论(0)

1亿VIP精品文档

相关文档