数据结构 Java语言版 王学军 第九章新.pptVIP

  • 9
  • 0
  • 约 85页
  • 2015-12-24 发布于广东
  • 举报

数据结构 Java语言版 王学军 第九章新.ppt

数据结构(Java语言版) 人民邮电出版社 【内容简介】 本章通过实例引入查找概念,重点介绍查找的相关概述,包括查找、关键字、查找方法等基本概念,以及各种查找算法的思想、程序实现。查找的实例应用。 【知识要点】 1.查找相关概述; 2.顺序查找法、二分查找法的算法原理及程序实现; 3.二叉排序树查找法的应用及平衡二叉排序树的实现过程; 4.哈希查找的概述; 5.哈希函数构造方式及冲突解决办法。 【教学提示】 本章共设10个学时,理论6学时,实验4学时,介绍查找的概念及相关概述、各种查找方式及算法实现;重点突出顺序查找法、二分查找法等查找方法的执行过程和算法实现,加强查找综合应用的理解。本章采用理论和实践结合的方式进行学习,结合查找的工程实例组织教学,其中二叉排序树的平衡问题和用链表法解决哈希冲突部分内容作为选学内容。 第一节 实例引入 1.实例引入 【学习任务】通过实例的引入,了解查找的基本过程。 【例9.1】办公软件中查找操作 如图9.1所示为Office办公软件中的Word文字处理软件,在文字处理中,经常遇到查找某个(或者某一批)信息,并对其处理的情况。图9.1中所示就是在该文章中对“数学教育”进行查找,并将其修改成“数学高职素质教育”,在该操作中就涉及到了在文章中对所要求的内容进行查找,并且对查找到的信息进行相应的修改。 【例9.2】学生成绩管理系统中的查找。 如表9.1所示为某学校2004级计算机专业学生某学期成绩表,在该学期综合测评中要查找学生的各种相关信息,如查找程序设计课程最高分(98分)的学生,或查找总分最低(295分)学生;有些条件还可以同时使用,如查找数据结构和大学英语都在前三名的学生是否存在等问题,都是具有代表性的查找问题。 表9.1 某校2004级计算机专业学生成绩表 第二节 基本概念与术语 2.基本概念与术语 【学习任务】结合实例分析,理解查找、关键字、查找方法等相关概念。  2.1查找的概念    查找是指在给定的由同一数据类型构成的整体范围内(如一篇文章、一个数据库等等),寻找用户需要数据的过程。若满足条件的数据存在,则称查找成功,否则查找失败。查找的过程要依据用于识别某元素的字段,该字段可惟一识别数据元素,称其为查找关键字。     说明: (1)查找的操作是在一定范围之内的,若查找成功,将对其进行相应操作,在查找范围之外的数据将不被操作。 (2)查找的数据可以是单个元素(如表9.1的学生成绩表中某单科成绩或总成绩),也可以是有多个数据元素构成的一个整体(如表9.1中查找某个学生的相关信息),将这样的数据称为查找的关键字(关键字的概念在计算机的操作中经常见到,在第10章排序中也要用到这个概念)。 (3)查找可以按照多个关键字进行,如例9.2所示中可按“数据结构”成绩在90分以上,同时“总分”成绩在330分以上的学生,此时查找包括两个关键字(“数据结构”和“总分”),其中“数据结构”为第一关键字,而“总分”为第二关键字,也称为次关键字,这样的关键字若有多个,应依次排列。 2.2 查找方法 根据定义,查找过程是在同类型数据构成的整体集合中进行查找操作,若只对数据进行查找(结果为查找成功或查找失败),并不改变数据的结构,若要对这些数据进行修改,则将改变数据的结构。 查找的方法主要有:顺序查找法、二分查找法(折半查找法)、二叉排序树法、哈希查找法等等。 第三节 顺序查找法 3. 顺序查找法   【学习任务】理解顺序查找法的算法思路及程序实现,重点掌握顺序查找法的时间复杂度和表长的关系。  3.1问题引入   【例9.3】设有如下数字构成的序列表A={55,25,6,95,76,12,124,32,9,73},查找给定的某个数字X是否存在,并给出相应提示。 3.2 算法描述   这是一个典型的查找问题,可将序列表A用数组表示,用数值X和系列A中的每个元素进行比较,若相等,则表示X在序列表A中存在,则查找成功,否则失败。如图9.2所示。 3.3 程序实现 public class shunxuchazhao{ public void c(int a[],int x){ int i=0; while(i=a.length-1 a[i]!= x) i++; if (i=a.length) System.out.println(查找失败!); else System.ou

文档评论(0)

1亿VIP精品文档

相关文档