设n个不同的整数按升序存于数组A[1..n]中,设计分治算法求使得A[i]=i的下标i,并分析时间复杂度。[/i]
举一反三
- 设n个不同的排好序的整数存于数组T[0:n-1]中。若存在一个下标i,0≤i<n,使得T[i]==i,设计一个有效算法找到这个下标i;要求算法在最坏情况下的计算时间为O(logn)。[/i]
- 设二维数组 a[1..m, 1..n] 含有 m*n 个整数。试分析算法的时间复杂度。
- 下列算法的时间复杂度()for(i=1;i<;n/2;i++){t=a[i];a[i]=a[n-i+1];a[n-i+1]=t;}[/i][/i] 未知类型:{'options': ['1', ' n', ' [img=34x18]17e436767faafc6.jpg[/img]', ' n^2'], 'type': 102}
- 分析以下算法的时间复杂度for(i=1;i<=n;++i){++x;s+=x;}
- 在下列算法中,时间复杂度是O(1)的操作是( ) A: 在n个结点的顺序表中,访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) B: 在n个结点的链表中,访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) C: 在n个结点的顺序表中,删除第i个结点(1≤i≤n) D: 在n个结点的链表中,删除第i个结点(1≤i≤n)