问答题

[说明]
快速排序是一种典型的分治算法。采用快速排序对数组A[p..r]排序的3个步骤如下。
1.分解:选择一个枢轴(pivot)元素划分数组。将数组A[p..r]划分为两个子数组(可能为空)A[p..q-1]和A[q+1..r],使得A[q]大于等于A[p..q-1]中的每个元素,小于A[q+1..r]中的每个元素。q的值在划分过程中计算。
2.递归求解:通过递归的调用快速排序,对子数组A[p..q-1]和A[q+1..r]分别排序。
3.合并:快速排序在原地排序,故无需合并操作。
1. [问题1]
下面是快速排序的伪代码,请将空缺处(1)~(3)的内容填写完整。伪代码中的主要变量说明如下。
A:待排序数组
p,r:数组元素下标,从p到r
q:划分的位置
x:枢轴元素
i:整型变量,用于描述数组下标。下标小于或等于i的元素的值,小于或等于枢轴元素的值
j:循环控制变量,表示数组元素下标

【参考答案】

[问题1]
这是一道考查快速排序算法伪代码的分析题。快速排序是对冒泡排序的一种改进,其基本思想是:通过一趟排序......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

问答题
[问题1] 这是一道要求读者掌握如何从问题域中抽象出类的属性的综合分析题。本题的解答思路如下。 ①首先要仔细理解题目中的信息,从这些信息牛获知该感应门禁系统主要部件有锁控器 (LockController)、读卡感应器(FingerReader)、电控锁(Lock)和主机管理软件(Win-Pak Software)。将关键信息转化成如图2-29所示的系统体系结构。 ②在面向对象系统建模过程中,通常用概念模型来详细描述系统的问题域。类图用于描述系统的结构化设计,即用来表示概念模型,表达了类、接口及它们之间的静态结构和关系。它最基本的元素是类或接口。通常,在类图上包含泛化(Generalization)、实例(Realization)、关联(Association)、聚集(Aggregation)、组装(Composition)、依赖(Dependency)等关系。 ③对系统的静态设计视图建模时,通常以对系统的词汇建模、对简单协作建模、对逻辑数据库模式建模这3种方式之一使用类图。其中,对系统的词汇建模需划分哪些抽象是考虑中的系统的一部分,哪此抽象是处于系统的边界之外,即用类图详细描述这些抽象和它们的职责。而对简单协作建模中,协作是一些共同工作的类,接口和其他元素的群体,该群体提供的一此合作行为强于所有这些元素的行为之和。在很多领域中要在关系数据库或面向对象数据库中存储永久信息,可以用类图对这些数据库的模式进行建模。 ④在图2-25类图中,已经完成了面向对象分析中的认定类,读者所要完成的工作是定义类的内部信息。类Lock是本系统中的一个关键类,题目与它的属性相关的描述有“门禁系统中的每个电控锁都有一个唯一的编号”、“锁的状态有两种”、“在管理主机上可以设置每把锁的安全级别”、“锁处于‘已锁住’状态时,才能将锁打开”等。从这些信息中提炼出说明类Lock关键属性及特性的答案,即“锁的编号”、“锁的状态”和“锁的安全级别”。
问答题
[问题1] 这是一道要求读者掌握数据库概念模型设计的综合分析题。本题的解答思路如下。 根据题干中给出的关键信息“根据需求阶段收集的信息,设计人才、岗位和企业的实体联系图”可知,应建立人才、岗位和企业3个实体之间的联系。可见,(1)空缺处还缺少了一个“岗位”实体。 题干在“逻辑结构设计”中已给出了“人才(个人编号,姓名,性别,出生日期,身份证号,毕业院校,专业,学历,证书名称,证书编号,联系电话,电子邮件,个人简历及特长)”、“企业(企业编号,企业名称,联系人,联系电话,地址,企业网址,电子邮件,企业简介)”、“求职意向( (2) )”和“岗位需求( (3) )”4个关系模式,结合常识可知,人才与岗位之间是“求职意向”联系,企业与岗位之间是“岗位需求”联系。 同理,结合常识可知,“人才”、“岗位”实体之间是多对多(m:n)的联系。从试题中给出的人才入库登记表(表2-17)中,扣除“逻辑结构设计”关系模式“人才”的相关属性后,可得到剩余的属性有“登记日期”、“职位名称”和“最低薪水”。因此与联系“求职意向”相关的属性有“登记日期”和“最低薪水”。 由常识可知,“企业”与“岗位”实体之间也是多对多(m:n)的联系。从试题中给出的企业信息登记表(表2-18)中,扣除“逻辑结构设计”关系模式“企业”的相关属性后,可得到剩余的属性有“登记日期”、“职位(名称)”、“专业”、“学历”、“薪水”和“备注”。因此,与联系“岗位需求”相关的属性有“登记日期”、“专业”、“学历”、“薪水”和“备注”。 结合以上分析结果,整理可得完整的人才、岗位和企业的实体联系图如图2-28所示。 另外说明一点,“需求”是人才、岗位和企业3个实体之间的联系,而事实上只有人才被聘用之后三者之间才产生联系。根据题干所给出的信息,主要解决的是人才的求职和企业的岗位需求之间的问题,而人才与企业之间没有直接的联系。