设任意n个整数存放于数组A(1:n)中,试编写算法,将所有正数排在所有负数前面(要求算法复杂度为0(n))。
设任意n个整数存放于数组A(1:n)中,试编写算法,将所有正数排在所有负数前面(要求算法复杂度为0(n))。
相关考题:
对n个元素值分别为-1、0或1的整型数组A进行升序排序的算法描述如下:统计A中-1、0和1的个数,设分别为n1、n2和n3,然后将A中的前n1个元素赋值为-1,第n1+1到n1+n2个元素赋值为0,最后n3个元素赋值为1。该算法的时间复杂度和空间复杂度分别为()。 A.(n)和(1)B.(n)和(n)C.(n2)和(1)D.(n2)和(n)
编写算法,对n个关键字取整数值的记录序列进行整理,以使所有关键字为负值的记录排在关键字为非负值的记录之前,要求: ① 采用顺序存储结构,至多使用一个记录的辅助存储空间; ② 算法的时间复杂度为O(n)。
设{an}为数列,对于“存在正数肘,对任意正整数n,有的否定(即数列{an}无界)是( )。A、存在正数M,存在正整数n,使得|an|>MB、对任意正数M,存在正整数n,使得|an|>MC、存在正数M,对任意正整数n,有|an|>MD、对任意正数M以及任意正整数n,有|an|>M
设M是一个n行n列的0-1矩阵,每行的1都排在0的前面。 (1)设计一个最坏情况下O(nlogn)时间的算法找到M中含有1最多的行,说明算法的设计思想,估计最坏情况下的时间复杂度。 (2)对上述问题,能否找到一个最坏情况下O(n)时间的算法?
设任意n个整数存放于数组A(1:n)中,试编写算法,将所有正数排在所有负数前面(要求算法复杂度为0(n))。 [题目分析]本题属于排序问题,只是排出正负,不排出大小。可在数组首尾设两个指针i和j,i自小至大搜索到负数停止,j自大至小搜索到正数停止。然后i和j所指数据交换,继续以上过程,直到 i=j为止。
在数组A[0,1,……,n-1]中查找给定值K的算法大致如下: i=n-1; While(i>=0(A[i]!=k)) i--; return i; 该算法的时间复杂度为 () A O(n) B 无法确定 C O(n-i) D O(n-i+1)