The collection of Data Structure program
- 设将n(n>1)个整数存放到一维数组R中。试设计一个在时间和空间两个方面都尽可能高效的算法。将R中保存的序列循环向左移动p(0<p<n)个位置,即将R中数据由(X0,X1,.....,Xn-1)变换为(Xp,Xp+1,......Xn-1,X0,X1,.....,Xp-1)。
- 给出基本设计思想
- 用C++描述
- 时间复杂度和空间复杂度?
- 已知一个整数序列A=(a0, a1, ....,an-1),其中0<=ai< n(0 <= i< n)。若存在ap1=ap2=...apm=x,且m>n/2(0<=pk<n, 1<=k<=m),则称x为A的主元素。例如A=(0,5,5,3,5,7,5,5),则5是主元素。而A=(0,5,5,3,5,1,5,7),则A中没有主元素。设计算法找出A的主元素,存在则输出主元素,否则输出-1
- 给出基本设计思想
- 用C++描述
- 时间复杂度和空间复杂度?