设计一个算法,将含有n个元素的数组A的元素A[0..n-1]循环右移m位,要求算法的空间复杂度为O(1)。
举一反三
- 设计一个时间复杂度为O(n)的算法,实现将数组A[n]中所有元素循环左移k个位置。
- 试设计一个算法,将数组A中的元素A[0]至A[n-1]循环右移k位,并要求只用一个元素大小的附加存储,元素移动或交换次数为O(n).
- 对于含有n个元素的顺序表,其算法的时间复杂度为O(1)的操作是()。 A: 将n个元素从小到大排序 B: 删除第i个元素(1≤i≤n) C: 查找第i个元素 D: 在第i个元素之后插入一个元素
- 算法设计题(5)设二维数组a[1..m,1..n]含有m*n个整数。1写一个算法判断a中所有元素是否互不相同?输出相关信息(yes/no);2试分析算法的时间复杂度。
- 在一个含有n个元素的顺序表中查找值为x元素,对应算法的时间复杂度为( )。 A: O(1) B: O(log2n) C: O(n) D: O(n^2)