计算机软件技术基础3-4 数据结构及算法(查找与排序).ppt
(52页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
23.9 积分
常用数据结构及其运算第三章1§3.1 概述 §3.2 线性表§3.3 栈与队 §3.4 树与二叉树§3.5 图§3.6 查找与排序目录23.6.1 查找的基本概念3.6.2 静态查找技术3.6.3 动态查找技术3.4.4 排序基本概念3.4.5 简单选择排序3.4.6 插入排序3.4.7 交换排序3.6 查找与排序32. 查找表 由同一类数据构成的用于查找的集合被称作查找表。 查找表是具有一定存储结构的数据集合,比如顺序表结构、链式结构、树形结构等。3. 关键字 查找往往根据数据元素的某个属性进行。例如根据学号查找某个学生记录。这种被用于查找的元素属性一般称为关键字,它往往可以唯一标识一个元素。 3.6.1 查找的基本概念1. 什么是查找确定给定值 k 在含有 n 个记录的文件中的位置的过程称为查找。4 4 .静态查找表 查找表一旦建立,在以后的查找过程中就不会改变。它所对应的查找算法属于静态查找技术。 5 .动态查找表: 查找表建立后,在后来的查找过程中仍会改变查找表的内容。它所对应的查找算法属于动态查找技术。 动态查找的例子——词汇统计问题。就是统计一篇文章中使用了多少词汇以及每个词汇的使用次数。 解决方法是先建立一个空的查找表,以后每读到一个词就在查找表中查询一下,如果该词汇存在则将其使用次数加一,否则将新词插入到查找表中并设使用次数为一次。显然,这个查找表是不断扩张的。 3.6.1 查找的基本概念56.平均查找长度: 为了确定数据元素在查找表中的位置,需要将给定值和表中的数据元素的关键字进行比较的次数的期望值。平均查找长度ASL的计算方法为: n 为表长; Pi 为查找第i个元素的概率。Ci为找到该记录时,曾和给定值比较过的数据元素的个数。 在等概率条件下( Pi=1/n)这时平均查找长度为:其中:3.6.1 查找的基本概念6 假设静态顺序查找表的存储结构为: struct SSTable{ ElemType *data; //存储空间地址 int length; //表的长度 }; 顺序查找表的元素存放在data[0]至data[length-1]中。3.6.2 静态查找技术71.顺序查找 顺序查找的方法是从表的一端开始,逐一比较给定的数据key和表中数据元素的关键字x的值,若两个数据一致则查找成功,同时给出该数据元素在表中的位置,否则查找失败。3.6.2 静态查找技术8 顺序查找算法C++语言描述如下: int SqSearch(SSTable &L, KeyType key) { int k = 0; while(kr[i]ij 13 20 11 10 23 20 移动i, 20 ->r[j]ji 13 10 11 10 23 20 移动j, 10 ->r[i]ij [13 10 11] 15 [23 20] 移动 i,i=j,x ->r[i] 完成一趟排序 ij [11 10] 13 15 [20] 23 第二趟排序结果 10 11 13 15 20 23 第三趟排序结果 3.6.7 交换排序46例: 46 26 22 68 48 42 36 84 66 初始状态iij 36 26 22 68 48 42 36 84 66 移动j, 36->r[i]i 36 26 22 68 48 42 68 84 66 移动i, 68->r[j]ji 36 26 22 42 48 42 68 84 66 移动j, 42->r[i]ji 36 26 22 42 48 48 68 84 66 移动i, 48->r[j]ji [36 26 22 42] 46 [48 68 84 66] 移动j, i=j,x->r[i] 完成一趟排序jij [22 26] 36 [42] 46 48 [68 84 66] 第二趟排序结果 22 [26] 36 42 46 48 [66] 68 [84] 第三趟排序结果47 2)算法分析: 比较次数为:O(nlog2n) 在待排序列已排好序情况下效率最差: T(n)=O(n2) 快速排序为不稳定排序。讨论:当控制字能把线性表分成两个相等的子区间时,运算效率最高,若关键字位于表首或表尾(如已排好序的情况),则蜕化为冒泡排序。3.6.7 交换排序48int Partition( int low, int high ) { int pivot = v[low]; //基准对象pivot位置为low while(low
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:计算机软件技术基础3-4 数据结构及算法(查找与排序).ppt
链接地址: https://www.wenku365.com/p-49312860.html