当前位置:中级软件设计师题库>算法设计和分析题库

问题:

[单选]

对n个元素值分别为-1、0或1的整型数组A进行升序排序的算法描述如下:统计A中-1、0和1的个数,设分别为n1、n2和n3,然后将A中的前n1个元素赋值为-1,第n1+1到n1+n2个元素赋值为0,最后n3个元素赋值为1。该算法的时间复杂度和空间复杂度分别为()。

同一药物在不同基质中的置换价是相同的。() 栓剂的基质可影响药物在腔道中的吸收。() 上半部为空白基质的双层栓,因减少药物经直肠上静脉的吸收,可提高药物的生物利用度。() 压制法制备的软胶囊形状可为椭圆形、球形或其他形状。() 凡检查含量均匀度的胶囊剂,可不进行装量差异的检查。()

对n个元素值分别为-1、0或1的整型数组A进行升序排序的算法描述如下:统计A中-1、0和1的个数,设分别为n1、n2和n3,然后将A中的前n1个元素赋值为-1,第n1+1到n1+n2个元素赋值为0,最后n3个元素赋值为1。该算法的时间复杂度和空间复杂度分别为()。

参考答案:

  参考解析

本题需要用3个辅助变量n1、n2和n3来保存数组A中-1、0和1的个数,空间复杂度为Θ(1)。在统计时,需要使用一循环语句遍历数组A。统计完成后,再使用一次循环语句遍历数组A,并将A中的前n1个元素赋值为-1,第n1+1到n1+n2个元素赋值为0,最后n个元素赋值为1。数组A的元素个数为n,因此算法的时间复杂度为Θ(n)。

在线 客服