{信息技术}第九章查找欢迎光临青岛科技大学信息科学技术学院

合集下载

青岛科技大学信息科学技术学院简介

青岛科技大学信息科学技术学院简介

青岛科技大学信息科学技术学院简介信息科学技术学院(网站)现有计算机科学与技术、信息工程、通信工程、集成电路设计与集成系统、软件工程、物联网工程6个本科专业,拥有计算机科学与技术和软件工程2个一级学科硕士点,软件工程和计算机技术2个专业硕士点。

信息工程专业和计算机科学与技术专业为山东省特色专业。

学院有省级、校级精品课程6门,校级优秀课程6门。

学院拥有山东省服务外包人才培训资质,由计算机基础实验中心、计算机软件技术实验中心、数字技术实验中心、通信技术实验中心以及大学生科技创新实验室等六大中心组建的计算机与信息通信教学实验中心为校级教学示范中心,建有信号与图像处理、现代通信技术、计算机软件与理论、计算机应用技术、计算机体系结构5个研究室。

计算机科学技术实验室为山东省首批骨干学科重点实验室,信息科学实验室为中央和地方共建实验室,学院还建有青岛市工业信息化重点实验室。

目前,学院在籍本专科生2000余人,研究生90余人。

现有教师112人,其中教授10人,副教授38人,具有博士学位37人,硕士生导师33人。

近几年,主持国家自然科学基金项目11项,省、市级以上纵向项目37项,企事业单位横向项目100余项,获市、省部级二等奖以上奖励8项。

在国内外发表论文700多篇,其中被SCI、EI 和ISTP收录300多篇,出版专著及教材10余部。

学院坚持“教学质量是生命线”和“以学生成才为本,促学生和谐发展”的教育教学理念,通过专业模块、导师制、校企合作、实习基地建设、实验室开放等,培养了一大批适应社会发展需要、具有创新精神的IT行业的工程型技术人才。

在“挑战杯”大学生课外学术科技作品大赛、“创青春”大学生创业大赛、齐鲁软件大赛、电子设计大赛等中获得一等奖7项。

学院在国际交流合作方面积极拓展,与美国休斯敦大学、韩国光云大学等多所国际一流大学建立起本科生和研究生交流互访及科研交流与合作项目。

面对新的发展时期和机遇,作为国家发展的7大新型产业之首的信息产业的支撑学科专业,在国家大力发展信息产业的大背景下,基于“CDIO”工程型教育理念,学院的学科建设和教育教学改革将全面贯彻学校的科学发展、内涵发展、特色发展、开放发展、创新发展的战略方针,坚持“校企融合、重点突破、特色发展、扩大影响”十六字方针,大力提升人才培养质量和教学科研水平,努力建成教学研究型名牌学院。

青岛版《信息技术》教材-

青岛版《信息技术》教材-

七(上)第1单元信息与信息技术第1课信息的特征第2课现代信息技术与生活第3课计算机探秘第4课使用计算机管理文件第5课信息安全与信息道德单元小结第2单元我的新学期第1课欢迎参加辩论会第2课为运动员加油第3课我心中的班级第4课文学社新成员第5课班级风采单元小结第3单元畅游齐鲁第1课策划准备第2课设计外观第3课组稿编辑(一)第4课组稿编辑(二)第5课播放展示与发布单元小结七(下)第1单元数据处理第1课数据计算第2课数据分析第3课数据的图表化第4课工作表的格式化与打印单元小结第2单元网络技术基础第1课计算机网络基础第2课互联网基础第3课互联网的基本服务第4课互联网的应用单元小结第3单元多媒体素材的采集与加工第1课亲密接触多媒体第2课图像处理(一)第3课图像处理(二)第4课图像处理(三)第5课音频采集与处理第6课视频采集与处理单元小结八(上)第1单元 网站设计与制作 第1课 创建站点第2课 设计网站首页 第3课 网页中的表格 第4课 网页的美化 第5课 建立超链接 第6课 网站的发布与维护 第7课 制作表单网页单元小结第2单元 FLASH 动画制作 第1课 认识FLASH MX 第2课 图层与元件 第3课 运动渐变动画 第4课 形状渐变动画 第5课 引导层动画 第7课 遮罩动画第8课 声音处理与作品发布 单元小结单元小结八(下)第1单元 算法思想初步 第1课 算法基础知识 第2课 利用E 语言程序解决 高斯问题第3课 E 语言程序设计基础 第4课 分支结构 第5课 循环结构 第6课 枚举法第7课 算法的优化示例单元小结第2单元 VB 程序设计 第1课 大熊猫的两个愿望 第2课 自我介绍 第3课 谜语大擂台(一) 第4课 节约用水算水价 第5课 谜语大擂台(二) 第6课 会计小助理 第7课 欲与珠峰试比高第8课 我的媒体播放器单元小结单元小结九(上)第1单元感测技术第1课感测技术概述第2课感测技术的应用单元小结第2单元控制技术第1课控制技术概述第2课控制技术的应用单元小结第3单元通信技术第1课通信技术概述第2课通信技术的应用单元小结第4单元智能机器人第1课认识机器人第2课欢迎进入AS—MII的世界第3课 VJC1.5编程软件第4课让机器人动起来第5课让机器人走四边形第6课让机器人具有智能第7课程序的基本结构第8课高级编程第9课机器人比赛项目单元小结九(下)第1单元关注信息社会第1课走进信息世界第2课信息技术综述第3课审视信息社会单元小结第2单元把握未来际遇第1课信息的获取与分析第2课赢在网络时代第3课网络信息检索单元小结第3单元体验数码生活第1课计算机的奥妙第2课数据存储未来第3课信息资源检索第4课信息安全概论单元小结第4单元成就美好明天第1课文本信息加工第2课表格信息处理第3课多媒体信息集成单元小结。

青岛科技大学信息与计算科学专业基础课程-文档资料

青岛科技大学信息与计算科学专业基础课程-文档资料
科Βιβλιοθήκη 技大 学下页
d. 学习方法的不同
初、高中: 从填鸭式 -> 启发式, 以教师为主, 强烈地依赖于教师。
大学: 从启发式 -> 个人自发, 以学生本身为 主,教师引导。
e. 微积分的发展历史
1.15世纪以前是它的概念的萌芽时期,主要
青 是阿基米德(Archimedes
岛 科
竭法和刘徽的割圆术




则与圆合体而无所失矣 ”

科 它包含了“用已知逼近未知 , 用近似逼近精确”的重要

大 极限思想 .

下页
2.16世纪前后约200年的时间是古已有之的常量 数学基本完成时期,也是变量数学的酝酿时期,
微积分正式进入了酝酿阶段. 3.17世纪上半叶,微积分的奠基工作在紧锣密鼓
地进行着,最主要的先驱有法国的帕斯卡(Pascal 1623-1662)和费马(Fermat 1601-1665), 英国
岛 科 技 大 学
下页
哥西 (Cauchy 1789- 1857),维尔斯特拉斯
(Weierstr--ass 1815-1897)等数学家给出了
分析学一系列基本概念的精确定义,从而奠 定了严格的分析学基础,
戴德金 (Dedekind 1831-1916) 和康托
(Cantor 1845-1918)等1872年建立了严格的
马克思
恩格斯
青 岛 科 技 华罗庚 大 学
聪明在于学习 , 天才在于积累 .
学而优则用 , 学而优则创 . 由薄到厚 , 由厚到薄 .
下页
※ 什么是数学分析?
“数学分析”是数学、信息与计算科 学专业等综合院校最主要的专业基 础课之一,其内容不但是数学理论 的基础,而且是现代科学的基石。

青岛科技大学优秀课程电子教案

青岛科技大学优秀课程电子教案

优秀课程电子教案 第一章总论
是药物制剂的简称, (五)药剂 是药物制剂的简称,包括制剂和方剂 制品。 制品。 (六)剂型(dose form)药物制成适合于医疗或预防 剂型( form)药物制成适合于医疗或预防 应用的形式. 应用的形式. 成药: ( 七 ) 成药 : 是指根据疗效显著和稳定性较大的成 分制成的特殊制品。 分制成的特殊制品。 例如清凉油,止痛片, 例如清凉油,止痛片,六神丸等
优秀课程电子教案 第一章总论
2.按分散系统分类 . (1)真溶液类剂型 (2)胶体溶液类剂型 (3)乳浊液类剂型 (4)混悬液类剂型 (5)气体分散体剂型 (6)固体分散体剂型 如芳香水剂、糖浆剂、溶液剂; 如芳香水剂、糖浆剂、溶液剂; 如胶浆剂、涂膜剂等。 如胶浆剂、涂膜剂等。 如乳剂、静脉乳剂、部分搽剂; 如乳剂、静脉乳剂、部分搽剂; 如合剂、洗剂、混悬剂等。 如合剂、洗剂、混悬剂等。 如气雾剂。 如气雾剂。 如散剂、丸剂、片剂等。 如散剂、丸剂、片剂等。
优秀课程电子教案 第一章总论
4.按制法分类 将用同样方法制备的剂型列为一类。 将用同样方法制备的剂型列为一类。 如浸出制剂:浸膏、 如浸出制剂:浸膏、流膏剂
优秀课程电子教案 第一章总论
第二节 药剂学的发展
一、中国药剂学的发展 (一)中国古代药剂学 一 中国古代药剂学 神农尝百草,始有医药” “神农尝百草,始有医药”。 药材原先大多是将新鲜植物捣碎使用。 药材原先大多是将新鲜植物捣碎使用。 在夏禹时代(公元前 在夏禹时代 公元前2140年 ), 发现酿酒法和酒 公元前 年 , 的 作用。 药酒治病。 作用。--------药酒治病。 药酒治病 酿酒过程------曲,公元前 酿酒过程 曲 公元前577年-----曲治胃病 年 曲治胃病 汤剂----------最早使用的剂型之一。 最早使用的剂型之一。 汤剂 最早使用的剂型之一

青岛科技大学PPT课件

青岛科技大学PPT课件
➢特点:简单、易于实现,但不利于短作业。
.
第1-25页
25
青岛科技大学信息科学技术学院
FCFS算法不利于短作业(进程)举例
➢下表列出了A、B、C、D四个作业分别到达 系统的时间、要求服务的时间、开始执行 的时间及各自的完成时间,并计算出各自 的周转时间和带权周转时间。
进程名
到达 时(SPF)算法:
对预计执行时间短的作业(进程)优先分派处 理机。
通常后来的短作业不抢先正在执行的作业。
.
第1-28页
28
青岛科技大学信息科学技术学院
FCFS和SJF的性能比较
作业 情况
调度 算法
FCFS (a)
SJF (b)
进程名 到达时间
A B C D E 平均 0 1 23 4
服务时间
青岛科技大学信息科学技术学院
1. CPU-I/O Burst Cycle CPU-I/O 区间周期
2. CPU Scheduler
➢ Selects from among the processes in memory that are ready to execute, and allocates the CPU to one of them.
.
第1-17页
17
青岛科技大学信息科学技术学院
进程上下文
➢ 进程上下文:是一个与进程切换和处理机状态发 生交换有关的概念。
➢ 包括计算机系统中与执行该进程有关的各种寄存 器的值、程序段在经过编译之后形成的机器指令 代码集、数据集及各种堆栈值和PCB结构。
上文:已执行过的进程指令和数据在相关寄存器和堆 栈中的内容。
➢ Response time响应时间– amount of time it takes from when a request was submitted until the first response is produced,

七年级下册信息技术教案青岛版

七年级下册信息技术教案青岛版

七年级下册信息技术教案青岛版第一章:网络的基本概念与使用1.1 教学目标了解网络的基本概念,掌握网络的使用方法。

1.2 教学内容1. 网络的定义与分类2. 网络的使用方法1.3 教学步骤1. 讲解网络的定义与分类2. 演示网络的使用方法3. 学生实践操作1.4 教学评价通过学生实践操作,检查学生对网络的基本概念和使用方法的掌握程度。

第二章:信息的搜索与处理2.1 教学目标掌握信息搜索的方法,了解信息处理的基本技巧。

2.2 教学内容1. 信息搜索的方法2. 信息处理的基本技巧2.3 教学步骤1. 讲解信息搜索的方法2. 演示信息处理的基本技巧3. 学生实践操作2.4 教学评价通过学生实践操作,检查学生对信息搜索方法和信息处理技巧的掌握程度。

第三章:电子表格的使用3.1 教学目标掌握电子表格的基本操作,了解电子表格的应用。

3.2 教学内容1. 电子表格的基本操作2. 电子表格的应用3.3 教学步骤1. 讲解电子表格的基本操作2. 演示电子表格的应用3. 学生实践操作3.4 教学评价通过学生实践操作,检查学生对电子表格的基本操作和应用的掌握程度。

第四章:演示文稿的制作与展示4.1 教学目标掌握演示文稿的制作方法,能够进行有效的演示文稿展示。

4.2 教学内容1. 演示文稿的制作方法2. 演示文稿的展示技巧4.3 教学步骤1. 讲解演示文稿的制作方法2. 演示演示文稿的展示技巧3. 学生实践操作4.4 教学评价通过学生实践操作,检查学生对演示文稿的制作方法和展示技巧的掌握程度。

第五章:计算机的基本维护与安全5.1 教学目标了解计算机的基本维护方法,掌握计算机的基本安全知识。

5.2 教学内容1. 计算机的基本维护方法2. 计算机的基本安全知识5.3 教学步骤1. 讲解计算机的基本维护方法2. 演示计算机的基本安全知识3. 学生实践操作5.4 教学评价通过学生实践操作,检查学生对计算机的基本维护方法和基本安全知识的掌握程度。

青岛版信息技术七年级上册《第9课-无线网络基础》PPT课件全

青岛版信息技术七年级上册《第9课-无线网络基础》PPT课件全

学一学 1.蜂窝网络是指什么?
蜂窝网络是一种移动通信硬件架构,分为模拟蜂窝网络和数 字蜂窝网络。由于构成网络覆盖的各通信基地台的信号覆盖呈 六边形,从而使整个网络像一个蜂窝而得名。
2.蜂窝网络的发展历程
学一学
蜂窝网络系统经过多年发展,到目前已经经历了4代: 第一代蜂窝网络系统采用模拟传输和蜂窝状组网方式,主要实现了语音 通信。 第二代蜂窝网络系统(2G)采用数字调制技术,既可支持语音通信, 也可进行低速数据业务。 第三代蜂窝网络系统(3G)可以提供语音、数据和视频图像业务。 第四代蜂窝网络系统(4G)是目前主要的移动通信系统,它能够传输 高质量的视频、语音,支持交互式多媒体,实现了宽带互联网的接入。
做一做 1.将小明家的设备进行分类
连接类型
电子设备
LAN接口连接 无线连接
个人电脑两台
笔记本电脑、平板电脑、智能电视机、 智能手机、智能冰箱
做一做
2.老师手里有一台智能手机,谁能将它连接到教学楼办公室的 无线wifi?
合作探究
小明家的无线局域网应该如何搭建呢?我们一起来帮他想想 办法。
小组合作,把连接方案以及准备的过程记录下来,与同学们 分享。
课堂小结二
蓝牙与无线局域网的对比: 1.蓝牙传输距离短、传输速度 慢、主要用来连接一些外接 电子设备。 2.无线局域网传输距离长、传 输速度快、主要提供无线上 网业务。
蓝牙技术的优点: 1.低功率,便于电池供电。 2.价格低,可以应用到低成 本设备上。 3.可以同时管理数据和声音 传输。 4.低延时,设备便于携带。
1000m
学校、办公室、家庭里 的小型局域网
家庭无线局 域网
蓝牙
电磁波
24Mbps
10m—100m 手机、打印机、数码相机 、耳机等

青岛科技大学信息科学技术学院

青岛科技大学信息科学技术学院

青岛科技大学信息科学技术学院研究生学业奖学金评定细则为激励研究生勤奋学习、潜心科研、积极进取、勇于创新,在国家全面实行研究生教育收费制度的情况下更好地支持研究生顺利完成学业,根据《青岛科技大学研究生学业奖学金管理暂行办法》(青科大字【2014】27号)的要求和相关规定,结合我院的实际情况,特制定我院研究生学业奖学金评定细则。

一、评选对象2014年9月起入校的纳入全国研究生招生计划的全日制研究生(有固定工资收入的除外),具有中华人民共和国国籍。

二、奖励比例、标准学业奖学金分为新生奖学金和综合奖学金,第一学年评选新生奖学金,第二、三学年评选综合奖学金。

学院根据研究生学业成绩、科研成果、社会服务等因素,按照学校要求,确定研究生学业奖学金比例及奖励标准(见附件1),具体人数以研究生处分配名额为准。

三、评选基本条件研究生学业奖学金基本申请条件:热爱社会主义祖国,拥护中国共产党的领导;遵守宪法和法律,遵守学校规章制度;诚实守信,品学兼优;积极参与科学研究和社会实践。

研究生有以下情况之一者不得参加学业奖学金的评定:因考试作弊等违反校纪受到警告以上(包括警告)处分者;学术行为不端者;在科研工作及学习实践中,造成重大责任事故及损失者;参与非法组织及活动者;本学年有课程考试不及格者;未通过研究生中期考核者;未按时交纳学费者;延期毕业的研究生。

四、评选程序1.个人申请新生奖学金不需要申请,由学院研究生学业奖学金工作领导小组根据评审依据直接进行评审。

综合奖学金的评审,需要研究生根据学校、学院制定的具体评定细则,结合自己实际情况,填写研究生奖学金申请表。

导师应对申请者的年度学习成绩、科研状况及其综合表现给出评价意见,无导师意见者,视为无效申请。

2.学院评审成立信息学院研究生学业奖学金工作领导小组,负责研究生学业奖学金的具体评定过程。

学院研究生学业奖学金评定工作组成员人数为9人,组成原则:院长、党总支书记、分管研究生副院长和副书记、硕士生导师代表、研究生管理人员、学生代表组成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(信息技术)第九章查找欢迎光临青岛科技大学信息科学技术学院第九章查找本章中介绍下列主要内容:静态查找表及查找算法:顺序查找、折半查找动态查找表及查找算法:二叉排序树哈希表及查找算法第壹节基本概念查找表用于查找的数据元素集合称为查找表。

查找表由同壹类型的数据元素(或记录)构成。

静态查找表若只对查找表进行如下俩种操作:(1)于查找表中查见某个特定的数据元素是否于查找表中,(2)检索某个特定元素的各种属性,则称这类查找表为静态查找表。

静态查找表于查找过程中查找表本身不发生变化。

对静态查找表进行的查找操作称为静态查找。

动态查找表若于查找过程中能够将查找表中不存于的数据元素插入,或者从查找表中删除某个数据元素,则称这类查找表为动态查找表。

动态查找表于查找过程中查找表可能会发生变化。

对动态查找表进行的查找操作称为动态查找。

关键字是数据元素中的某个数据项。

唯壹能标识数据元素(或记录)的关键字,即每个元素的关键字值互不相同,我们称这种关键字为主关键字;若查找表中某些元素的关键字值相同,称这种关键字为次关键字。

例如,银行帐户中的帐号是主关键字,而姓名是次关键字。

查找于数据元素集合中查找满足某种条件的数据元素的过程称为查找。

最简单且最常用的查找条件是"关键字值等于某个给定值",于查找表搜索关键字等于给定值的数据元素(或记录)。

若表中存于这样的记录,则称查找成功,此时的查找结果应给出找到记录的全部信息或指示找到记录的存储位置;若表中不存于关键字等于给定值的记录,则称查找不成功,此时查找的结果能够给出壹个空记录或空指针。

若按主关键字查找,查找结果是唯壹的;若按次关键字查找,结果可能是多个记录,即结果可能不唯壹。

查找表的存储结构查找表是壹种非常灵活的数据结构,对于不同的存储结构,其查找方法不同。

为了提高查找速度,有时会采用壹些特殊的存储结构。

本章将介绍以线性结构、树型结构及哈希表结构为存储结构的各种查找算法。

查找算法的时间效率查找过程的主要操作是关键字的比较,所以通常以"平均比较次数"来衡量查找算法的时间效率。

第二节静态查找正如本章第壹节所述:静态查找是指于静态查找表上进行的查找操作,于查找表中查找满足条件的数据元素的存储位置或各种属性。

本节将讨论以线性结构表示的静态查找表及相应的查找算法。

1.顺序查找1.1顺序查找的基本思想顺序查找是壹种最简单的查找方法。

其基本思想是将查找表作为壹个线性表,能够是顺序表,也能够是链表,依次用查找条件中给定的值和查找表中数据元素的关键字值进行比较,若某个记录的关键字值和给定值相等,则查找成功,返回该记录的存储位置,反之,若直到最后壹个记录,其关键字值和给定值均不相等,则查找失败,返回查找失败标志。

1.2顺序表的顺序查找下面是顺序表的类型定义:#defineMAX_NUM100//用于定义表的长度typedefstructelemtype{keytypekey;anytypeotherelem;}Se_List[MAX_NUM],Se_Elem;假设于查找表中,数据元素个数为n(n<MAX_NUM),且分别存放于数组的下标变量a[1]~a[n]中。

下面我们给出顺序查找的完整算法。

intseq_search(Se_Lista,keytypek){//于顺序表中查找关键字值等于k的记录,//若查找成功,返回该记录的位置下标序号,否则返回0i=1;while(i<=n&&a[i].key!=k)i++;if(i<=n)retruni;elsereturn0;}改进算法:intseq_search2(Se_Lista,keytypek){//设置了监视哨的顺序表查找,查找关键字值等于指定值k的记录,//若查找成功,返回记录存放位置的下标值,否则返回0i=n;a[0].key=k;while(a[i].key!=k)i--;return(i);}1.3链表的顺序查找链表的顺序查找是指将查找表作为线性表且以链式存储结构存储,用顺序查找方法查找和指定关键字值相等的记录。

链表的类型定义如下所示:typedefstructlinklist{keytypekey;//结点的关键字类型anytypeotherelem;//结点的其他成分structlinklist*next;//指向链表结点的指针}Link_Linklist,*Link;将查找表中的数据元素用这种结构的结点表示,且以指向头结点的指针标识。

对链表实现顺寻查找就是于有头结点的链式查找表中查找关键字值等于给定值的记录,若查找成功,返回指向相应结点的指针,否则返回空指针。

Link_Linklist*link_search(Linkh,keytypek){//link为带头结点链表的头指针,查找关键字值等于k的记录,//查找成功,返回指向找到的结点的指针,查找失败返回空指针p=h->next;while((p!=NULL)&&(p->key!=k))p=p->next;returnp;}顺序查找算法简单,对表的结构无任何要求;可是执行效率较低,尤其当n较大时,不宜采用这种查找方法。

2.折半查找2.1折半查找的基本思想折半查找要求查找表用顺序存储结构存放且各数据元素按关键字有序(升序或隆序)排列,也就是说折半查找只适用于对有序顺序表进行查找。

折半查找的基本思想是:首先以整个查找表作为查找范围,用查找条件中给定值k和中间位置结点的关键字比较,若相等,则查找成功,否则,根据比较结果缩小查找范围,如果k的值小于关键字的值,根据查找表的有序性可知查找的数据元素只有可能于表的前半部分,即于左半部分子表中,所以继续对左子表进行折半查找;若k的值大于中间结点的关键字值,则能够判定查找的数据元素只有可能于表的后半部分,即于右半部分子表中,所以应该继续对右子表进行折半查找。

每进行壹次折半查找,要么查找成功,结束查找,要么将查找范围缩小壹半,如此重复,直到查找成功或查找范围缩小为空即查找失败为止。

2.2折半查找过程示例。

2.3折半查找算法假设查找表存放于数组a的a[1]~a[n]中,且升序,查找关键字值为k。

折半查找的主要步骤为:(1)置初始查找范围:low=1,high=n;(2)求查找范围中间项:mid=(low+high)/2(3)将指定的关键字值k和中间项a[mid].key比较若相等,查找成功,找到的数据元素为此时mid指向的位置;若小于,查找范围的低端数据元素指针low不变,高端数据元素指针high更新为mid-1;若大于,查找范围的高端数据元素指针high不变,低端数据元素指针low更新为mid+1;(4)重复步骤(2)、(3)直到查找成功或查找范围空(low>high),即查找失败为止。

(5)如果查找成功,返回找到元素的存放位置,即当前的中间项位置指针mid;否则返回查找失败标志。

折半查找的完整算法如下:intbin_search(Se_Lista,keytypek){low=1;high=n;//置初始查找范围的低、高端指针while(low<=high){mid=(low+high)/2;//计算中间项位置if(k==a[mid].key)break;//找到,结束循环elseif(k<a[mid].key)high=mid-1;//给定值k小elselow=mid+1;//给定值k大}if(low<=high)returnmid;//查找成功elsereturn0;//查找失败}第三节动态查找1.二叉排序树二叉排序树是壹种常用的动态查找表,下面首先给出它的非递归形式。

二叉排序树是壹棵二叉树,它或者为空,或者具有如下性质:(1)任壹非终端结点若有左孩子,则该结点的关键字值大于其左孩子结点的关键字值。

(2)任壹非终端结点若有右孩子,则该结点的关键字值小于其右孩子结点的关键字值。

二叉排序树也能够用递归的形式定义,即二叉排序树是壹棵树,它或者为空,或者具有如下性质:(1)若它的左子树非空,则其左子树所有结点的关键字值均小于其根结点的关键字值。

(2)若它的右子树非空,则其右子树所有结点的关键字值均大于其根结点的关键字值。

(3)它的左右子树均是二叉排序树。

例如,由关键字值序列(62,15,68,46,65,12,57,79,35)构成的壹棵二叉排序树如图7-4所示。

如果对上述二叉排序树进行中根遍历能够得到壹个关键字有序序列(12,15,35,46,57,62,65,68,79),这是二叉排序树的壹个重要特征,也正是由此将其称为"二叉排序树"。

2.二叉排序树的查找二叉排序树的结构定义中可见到:壹棵非空二叉排序树中根结点的关键字值大于其左子树上所有结点的关键字值,而小于其右子树上所有结点的关键字值,所以于二叉排序树中查找壹个关键字值为k的结点的基本思想是:用给定值k和根结点关键字值比较,如果k小于根结点的值,则要找的结点只可能于左子树中,所以继续于左子树中查找,否则将继续于右子树中查找,依此方法,查找下去,至直查找成功或查找失败为止。

二叉排序树查找的过程描述如下:(1)若二叉树为空树,则查找失败,(2)将给定值k和根结点的关键字值比较,若相等,则查找成功,(3)若根结点的关键字值小于给定值k,则于左子树中继续搜索,(4)否则,于右子树中继续查找。

假定二叉排序树的链式存储结构的类型定义如下:typedefstructlinklist{keytypekey;anytypeotherelem;structlinklist*lchild;structlinklist*rchild;}Bin_Sort_Tree_Linklist,*Bin_Sort_Tree;二叉排序树查找过程的描述是壹个递归过程,若用链式存储结构存储,其查找操作的递归算法如下所示:Bin_Sort_Tree_Linklist*bt_search(Bin_Sort_Treebt,keytypek){//于根指针为bt的二叉排序树上查找壹个关键字值为k的结点,//若查找成功返回指向该结点的指针,否则返回空指针if(bt=NULL)||(bt->key==k)returnbt;elseif(k<bt->key)returnbt_search(bt->lchild,k);//于左子树中搜索elsereturnbt_search(bt->rchild,k);//于右子树中搜索}这个过程也能够用非递归算法实现,算法描述如下:Bin_Sort_Tree_Linklist*bt_search1(Bin_Sort_Treebt,keytypek){p=bt;//指针p指向根结点,搜索从根结点开始while(p!=NULL&&p->key!=k){if(k<p->key)p=p->lchild;elsep=p->rchild;}return(p);}3.二叉排序树的插入于壹棵二叉排序树中插入壹个结点能够用壹个递归的过程实现,即:若二叉排序树为空,则新结点作为二叉排序树的根结点;否则,若给定结点的关键字值小于根结点关键字值,则插入于左子树上;若给定结点的关键字值大于根结点的值,则插入于右子树上。

相关文档
最新文档