全部科目 > 软件设计师 >
2012年上半年 上午试卷 综合知识
第 65 题
知识点 数组   排列  
关键词 空间复杂度   实数   数组   算法   伪代码  
章/节 计算机软件知识  
 
 
现要对n个实数(仅包含正实数和负实数)组成的数组A进行重新排列,使得其中所有的负实数都位于正实数之前。求解该问题的算法的伪代码如下所示,则该算法的时间和空间复杂度分别为(65)。


交换A[i]和A[j];
 
  A. 
 
  B. 
 
  C. 
 
  D. 




 
 
相关试题     计算机软件知识 

  第28题    2022年下半年  
假设做盘磁头从一个磁道移至相邻磁道需要加2ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均移动距离为5个磁道,每块的旋转延迟时间及传输时间分别为10ms和..

  第5题    2024年上半年  
已知二维数组A按行优先方式存储,每个元素占用2个存储单元,第一个元素A[0][0]的地址为100,元素A[3][3]的存储地址是220,则元素A[5][5]的地址是(  )。

  第27题    2025年下半年  
对于关键字序列(26,25,72,38,8,18,59),采用散列函数H(Key)=Key mod 13构造散列表(哈希表)。若采用线性探测的开放定址法解决冲突(顺序地探查可用存储单元), ..

 
知识点讲解
· 数组
· 排列
 
        数组
               数组的定义及基本运算
               n维数组是一种"同构"的数据结构,其每个元素类型相同、结构一致。数组是定长线性表在维数上的扩张,即线性表中的元素又是一个线性表。
               数组结构的特点是:数据元素数目固定;数据元素具有相同的类型;数据元素的下标关系具有上下界的约束且下标有序。
               对数组进行的基本运算有以下两种。
               (1)给定一组下标,存取相应的数据元素。
               (2)给定一组下标,修改相应的数据元素中某个数据项的值。
               数组的顺序存储
               一旦定义了数组,结构中的数据元素个数和元素之间的关系就不再发生变动,因此数组适合于采用顺序存储结构。
               由于计算机的内存结构是一维线性的,因此存储多维数组时必须按照某种方式进行降维处理,即将数组元素排成一个线性序列,这就产生了次序约定问题。对二维数组有两种存储方式:一种是以列为主序的存储方式;另一种是以行为主序的存储方式。
               设每个数据元素占用L个单元,mn为数组的行数和列数,那么以行为主序优先存储的地址计算公式为
               Loc(aij)=Loc(a11)+((i-1)n+(j-1))L
               同样的,以列为主序优先存储的地址计算公式为
               Loc(aij)=Loc(a11)+((j-1)m+(i-1))L
 
        排列
        设S为具有n个不同元素的n元集,从S中选取r个元素且考虑其顺序称为S的一个r排列,不同排列的总数记为,有时也用P(nr)表示。如果r=n,则称这个排列为S的全排列。从排列的定义可知,如果两个排列相同,不仅这两个排列的元素必须完全相同,而且排列的顺序也必须完全相同。
        
        例子1:用0~9这十个数字,可以组成多少个没有重复数字的三位数?
        解法1:由于百位数上的数字不能为0,因此可先考虑排百位上的数字,再排十位和个位上的数字。百位数上的数字只能从除0以外的1~9数字中任选一个,有种;十位和个位上的数字,可以从余下的9个数字中任选两个,有种。根据乘法原理,所求的三位数的个数是
        解法2:可先考虑从0~9这十个数字中任取三个数字的排列数(),再减去其中以0开头的排列数()。因此,所求的三位数的个数是
        解法3:符合条件的三位数可以分为三类:每一位数字都不是0的三位数有个;个位数是0的三位数有个;十位数是0的三位数有个。根据加法原理,符合条件的三位数个数是



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2026 All Rights Reserved
软考在线版权所有