首页 > 试题广场 >

编写函数求输入数据的前 k 个值并分析此函数的复杂度 O.

[问答题]

编写函数求输入数据的前 k 个值并分析此函数的复杂度 O.

void GetLeastNumbers(int* input,int n,int* output,int k)
{
    if(input == NULL || output == NULL || k>n || n<=0 || k<=0)
    return;
    int start = 0;
    int end = 0;
    int index = Partition(input,n,start,end);
    while(index != k-1) {
        if(index > k-1) {
            end = index - 1;
            index = Partition(input,n,start,end);
        }
        else {
            start = index +1;
            index = Partition(input,n,start,end);
        }
    }
    for(int i = 0;i<k;++i)
    output[i] = input[i]
}
时间复杂度是O(n)

发表于 2017-02-17 11:02:21 回复(0)