第3章 查找与排序1
- 格式:ppt
- 大小:739.00 KB
- 文档页数:35
数据结构(C语言版)(第2版)课后习题答案数据结构(C语言版)(第2版)课后习题答案目录第1章绪论1 第2章线性表5 第3章栈和队列13 第4章串、数组和广义表26 第5章树和二叉树33 第6章图43 第7章查找54 第8章排序65 第1章绪论1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
答案:数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。
如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。
数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。
在有些情况下,数据元素也称为元素、结点、记录等。
数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。
数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。
例如,学生基本信息表中的学号、姓名、性别等都是数据项。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
例如:整数数据对象是集合N={0,±1,±2,。
},字母字符数据对象是集合C={‘A’,‘B’,。
,‘Z’,‘a’,‘b’,。
,‘z’},学生基本信息表也可是一个数据对象。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。
逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。
存储结构:数据对象在计算机中的存储表示,也称为物理结构。
抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。
具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。
2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。
1.(18)假设有一组数据:工资为 800 元,职称为“讲师”,性别为“男”,在下列逻辑表达式中结果为“假”的是()。
A)工资>800 AND 职称="助教" OR 职称="讲师" B)性别="女" OR NOT 职称="助教"C)工资=800 AND (职称="讲师" OR 性别="女") D)工资>800 AND (职称="讲师" OR 性别="男")2. 18,条件”Not >工资额>2000”的含义是A>选择工资额大于2000的记录B>选择工资额小于2000的记录C>选择除了工资额大于2000之外的记录D>选择除了字段工资额之外的字段,且大于2000的记录3. (18)将表A的记录复制到表B中,且不删除表B中的记录,可以使用的查询是A) 删除查询 B) 生成表查询C) 追加查询D) 交叉表查询4. (19)在一个Access的表中有字段“专业”,要查找包含“信息”两个字的记录,正确的条件表达式是______。
A)=left([专业],2)= "信息" B)like "*信息*"C)="信息*" D)Mid([专业],1,2,)= "信息" 5.(20)如果在查询的条件中使用了通配符方括号“[ ]”,它的含义是______。
A)通配任意长度的字符B)通配不在括号内的任意字符C)通配方括号内列出的任一单个字符D)错误的使用方法6. (19)下面显示的是查询设计视图的“设计网格”部分:从所显示的内容中可以判断出该查询要查找的是A)性别为“女”并且1980以前参加工作的记录B)性别为“女”并且1980以后参加工作的记录C)性别为“女”或者1980以前参加工作的记录D)性别为“女”或者1980以后参加工作的记录7.(20)若要查询某字段的值为“JSJ”的记录,在查询设计视图对应字段的准则中,错误的表达式是A)JSJ B)”JSJ”C)”*JSJ”D)Like “JSJ”8. (19)在下图中,与查询设计器的筛选标签中所设置的筛选功能相同的表达式是A.成绩表.综合成绩>=80 AND成绩表.综合成绩=<90B.成绩表.综合成绩>80 AND成绩表.综合成绩<90 C.80<=成绩表.综合成绩<=90 D.80<成绩表.综合成绩<909.(20)下图中所示的查询返回的记录是A.不包含80分和90分B.不包含80至90分数段C.包含80至90分数段D.所有的记录10.(18)若在“tEmployee”表中查找所有姓“王”的记录,可以在查询设计视图的准则行中输入A)Like "王" B)Like "王*" C)="王" D)="王*"11.(26)下列不属于操作查询的是A)参数查询B)生成表查询C)更新查询D)删除查询12.(17)将表A的记录添加到表B中,要求保持表B中原有的记录,可以使用的查询是______。
实践教学*******************软件学院2012学年秋季学期上机实验报告册课程名称: ___________________________实验名称: ___________________________指导教师: ___________________________小、组成员. ******************** ******************** **********查找和排序一.实验目的1•熟悉并掌握二分查找算法;2. 熟悉并掌握起泡排序算法;3. 熟悉并掌握简单选择算法;4. 熟悉并掌握直接插入排序算法;5. 熟悉并掌握二分插入排序算法;6. 熟悉并掌握快速排序算法;二.实验内容和原理1•二分查找算法二分查找算法的思路:初始状态:假设表长为n, low、high和mid分别指向待查元素所在区间的下界、上界和中点,key为给定值,初始时,令low=0,high=n-1,mid=(low+high)/2 让key与mid指向的记录比较若key==r[mid].key,查找成功,算法结束;若key<r[mid].key,贝U high=mid-1 ;若key>r[mid].key,贝U low=mid+1 ;重复上述操作,直至low>high时,查找失败。
2•起泡排序算法起泡排序的思路:首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序(即L.r[1].key>L.r[2].key ),则将两个记录交换之,然后比较【第二个记录和第三个记录】的关键字。
以此类推,直至第n-1个记录和第n个记录的关键字进行过比较为止。
上述过程称做第一趟起泡排序,其结果使得关键字最大的记录被安置到最后一个记录的位置上,然后进行第二趟起泡排序,对前n-1个记录进行同样操作,其结果是使关键字次大的记录被安置到第n-1个记录的位置上。
一般地,第i躺起泡排序是从L.r[1]到L.r[n-i+1]以此比较相邻两个记录的关键字,并在“逆序”时交换相邻记录,其结果是这n-i+1个记录中关键字最大的记录被交换到第n-i+1的位置上。