在有n个无序无重复元素值的数组中查找第i小的数的算法描述如下:任意取一个元素r,用划分操作确定其在数组中的位置,假设元素r为第k小的数。若i等于k,则返回该元素值;若i小于k,则在划分的前半部分递归进行划分操作找第i小的数;否则在划分的后半部分递归进行划分操作找第k-i小的数。该算法是一种基于()策略的算法。
相似题目
-
已知二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单元,并且第一个元素的存储地址是LOC(A[0][0]),则A[i][j]的地址是()。
-
设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为()。
-
设顺序存储的线性表长度为n,要删除第i个元素,按课本的算法,当i=(),移动元素的次数为3。
-
若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为()
-
设顺序存储的线性表长度为n,要删除第i个元素,按课本的算法,当i=()时,移动元素的次数为3。
-
对n个元素值分别为-1、0或1的整型数组A进行升序排序的算法描述如下:统计A中-1、0和1的个数,设分别为n1、n2和n3,然后将A中的前n1个元素赋值为-1,第n1+1到n1+n2个元素赋值为0,最后n3个元素赋值为1。该算法的时间复杂度和空间复杂度分别为()。
-
一棵有n个结点的二叉树,按层次从上到下,同一层从左到右顺序存储在一维数组A[1..n]中,则二叉树中第i个结点(i从1开始用上述方法编号)的右孩子在数组A中的位置是( )
-
一棵有n个结点的二叉树,按层次从上到下,同一层从左到右顺序存储在一维数组A[1..n]中,则二叉树中第i个结点(i从1开始用上述方法编号)的右孩子在数组A中的位置是( )。
-
有n个元素存放在一维数组A[1...n]中,在进行顺序查找时,这n个数的不同排列,其平均查找长度不同。
-
给定一组长度为n的无序序列,将其存储在一维数组a[O.n-1]中。现采用如下方法找出其中的最大元素和最小元素:比较a[O]和a[n-1],若a[0]较大,则将二者的值进行交换;再比较a[1]和a[n-2],若a[1]较大,则交换二者的值;然后依次比较a[2]和a[n-3]、 a[3]和a[n-4]、…,使得每一对元素中的较小者被交换到低下标端。重复上述方法,在数组的前n/2个元素中查找最小元素,在
-
在n个元素的线性表的数组表示中,以下时间复杂度为O() II. 在最后一个结点后插入一个新的结点 III. 删除第一个结点 IV. 在第i个结点后插入一个结点1≤i≤n)
-
16、有n个元素存放在一维数组A[1..n]中,在进行顺序查找时,这n个数的不同排列,其平均查找长度不同。
-
设C/C++二维数组a[m][n],每个数组元素占用k个存储单元,第一个数组元素的存储地址是LOC(a[0][0]),求按行优先顺序存放的数组元素a[i][j](0≤i≤m-1,0≤j≤n-1)的存储地址为()。
-
在制作打地鼠游戏时,用到了二维数组转换成一维数组的算法。请问,地鼠洞口总共有m行n列,以行优先的方式映射到一维坐标后,其第i行k列(i>=0,k>=0)的洞口的索引表示为?
-
输入20个实数存放在一维数组中,输出它们的平均值以及高于平均值的数的个数。 输入格式: scanf("%f",&a[i]); 输出格式: printf("The average=%fn",ave); printf("The num is %dn",n); 输入样例: 20 30 50 30 20 输出样例: The average=30.000000 The num is 1
-
输入一个正整数n (1 <n> <=10),再输入n个整数,将它们存入数组a中,再输入1个数x,然后在数组中查找x,如果找到,输出相应的最小下标,否则,输出“not found”。 int main(void) { i, index, n, x, a[10]; scanf("%d", &n); for(i="0;" i i++)
-
打开考生文件夹中的Cprog112.c,完成其中的search(inta[])函数,该函数返回数组a中的次大数(即仅次于最大数的数)。
-
在 n 个数的数组中确定其第 i(1 ≤ i ≤ n) 小的数时,可以采用快速排序算法中的划分思想 , 对 n 个元素划分,先确定第 k 小的数,根据 i 和 k 的大小关系 , 进一步处理,最终得到第 i 小的数。划分过程中,最佳的基准元素选择的方法是选择待划分数组的(此空作答 )元素。此时,算法在最坏情况下的时间复杂度为(不考虑所有元素均相等的情况)()
-
有n个元素的数组,查找其中最大值的元素,一般需要n+1次元素的比较 。()
-
设计一个程序,寻找 10 个正整数中的 最大偶数 ,若该组数据中不存在偶数,则输出“ 未发现偶数 ”。 提示 :利用一维数组来存放 10 个整数。判断整数 n 是否为偶数: n%2==0 。 计算一组数据中的最大值的算法如下: 假定第一个数据为当前最大值; 对于其余的数据,依次与当前最大值进行比较。若某个数据的值大于当前最大值,则将该数据的值作为新的当前最大值
-
如果在合并排序算法的分割步骤中,将数组a[0:n-1]划分为[ ]个子数组,每个子数组中有O()个元素
-
以下程序段实现了找第二小元素的算法。输入是n个不等的数构成的数组S,输出S中第二小的数SecondMin。在最坏情况下,该算法需要做()次比较。 if (S[1] < S[2]) { FirstMin = S[1]; SecondMin = S[2]; } else { FirstMin = S[2]; SecondMin = S[1]; } for (i = 3; i <= n; i++) if (S[i] < SecondMin) if (S[i] < FirstMin) { SecondMin = FirstMin; FirstMin = S[i]; } else { SecondMin = S[i]; }
-
11、在数组A[0..n-1]中查找给定值K的算法大致如下: i=n-1; while(i>=0 && (A[i]!=k)) i--; return i; 该算法的时间复杂度为()。
-
二维数组A【m】【n】采用行序为主方式存储,每个元素占k个存储单位,并且第一个元素的存储地址是LOC(A【0】【0】),则A【i】【j】的地址是()
推荐题目
- excel link函数的定义方式有两种,即直接定义和间接定义。
- 土掺入石灰后,从而使土的()发生根本的变化。
- 关于建筑石膏技术性质的表述,错误的是()。
- 民间文学同作家文学的分野,体现在艺术风格上,表现为()之别。
- 发明成果获得专利权后,在世界各国都受到法律保护。
- Ⅲ类工具在防止触电的保护方面依靠由安全特低电压供电和在工具内部不会产生比安全特低电压高的电压
- 患者男性,51岁左耳下无痛性包块6年半。检查:扪及3.5cm×4.0cm大小,界清,质中,无压痛,可活动,导管口无红肿,分泌液清亮。根据临床表现,不应考虑的诊断方法是()。
- 如何在房间拨打内外线,IDD/DDD电话?
- 设a+3b⊥7a-5b,a-4b⊥7a-2b,求<img src='https://img2.soutiyun.com/ask/2020-07-31/965053905092976.png' />
- 会计监督的内容有()监督。