首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知顺序表A,在不改变顺序表中奇数号元素与偶数号元素相对位置的前提下,设计算法,将所有奇数号元素移到所有偶数号元素前。 (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。 (
已知顺序表A,在不改变顺序表中奇数号元素与偶数号元素相对位置的前提下,设计算法,将所有奇数号元素移到所有偶数号元素前。 (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。 (
admin
2019-08-01
57
问题
已知顺序表A,在不改变顺序表中奇数号元素与偶数号元素相对位置的前提下,设计算法,将所有奇数号元素移到所有偶数号元素前。
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
(3)说明你所设计算法的时间复杂度和空间复杂度。
选项
答案
(1)基本的设计思想:先将偶数号元素复制到一个辅助空间,然后整理数组剩下的奇数号元素,最后将辅助空间中的元素复制到数组的后半部分,但这种思路的空间复杂度为O(n)。 另一种思路: ①在数组尾部从后往前找到第一个奇数号元素,将此元素与其前面的偶数号元素交换。这样,就形成了两个前后相连且相对顺序不变的奇数号元素“块”。 ②暂存①中“块”前面的偶数号元素,将“块”内奇数号结点依次前移,然后将暂存的偶数号结点复制到空出来的数组单元中。就形成了三个连续的奇数号元素“块”。 ③暂存②中“块”前面的偶数号元素,将“块”内奇数号结点依次前移,然后将暂存的偶数号结点复制到空出来的数组单元中。就形成了四个连续的奇数号元素“块”。 ④如此继续,直到前一步的“块”前没有元素为止。 (2)算法的设计如下: void Swap(ElemType A[],int n){ int i=n,v=1; //i为工作指针,初始假设n为奇数,v为“块”的大小 ElemType temp: //辅助变量 if(n%2==0)i=n一1; //若n为偶数,则令i为n一1 while(i>1){ //假设数组从1开始存放。当i=1时,气泡浮出水面 temp=A[i—1]; //将“块”前的偶数号元素暂存 for(int j=0;j<v;j++) //将大小为v的“块”整体向前平移 A[i一1+j]=A[i+j] //从前往后依次向前平移 A[i+v一1]=temp: //暂存的奇数号元素复制到平移后空出的位置 i一一;v++; //指针向前,块大小增1 }//while } (3)一共进行了n/2次交换,每次交换的元素个数从1一n/2,因此时间复杂度为O(n
2
)。虽然时间复杂度为O(n
2
),但因n
2
前的系数很小,实际达到的效率是很高的。算法的空间复杂度为O(1)。
解析
转载请注明原文地址:https://kaotiyun.com/show/jACi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
晋察冀抗日根据地
毛泽东在《关于正确处理人民内部矛盾的问题》中指出的两类不同性质的矛盾是()。
1941年~1942年,中共在根据地建设中,为争取抗战胜利奠定物质基础的措施是()。
马克思创立马克思主义哲学时,其中吸收了被列宁称之为“基本内核”的哲学思想,该思想是()的重要贡献。
晚清时期下列武装力量出现的先后顺序是
1939年前后,中国政治思想界展开关于三民主义问题争论的根本原因是()。
在平衡二叉树中的每个结点上增设一个Lsize域,其值为它的左子树中的结点个数加1,试写一个时间复杂度为O(logn)的算法,确定树中第k个结点的位置。
指令系统字长16位,每个地址码为6位,采用扩展操作码的方式,试设计14条二地址指令,100条一地址指令,100条零地址指令。(1)画出操作码的扩展形式。(2)下图为指令译码逻辑图,其中只给出了二地址指令的译码逻辑,试补全一地址指令和零地址指令的
TCP/IP网络中,某主机的IP地址为130.25.3.135,子网掩码为255.255.255.192,那么该主机所在的子网的网络地址是()。
设有A,B,C,D4台主机都处在同一个物理网络中,A主机的IP地址是192.155.28.112,B主机的IP地址是192.155.28.120,C主机的IP地址是192.155.28.135,D主机的IP地址是192.155.28.202。共
随机试题
怎样正确对待人生的顺境和逆境?
忽如一夜春风来,________________。(唐朝·岑参《白雪歌送武判官归京》)
曲线与直线y=x,x=2所围成的平面图形的面积为______。
Whenheappliedfora______intheofficeofthelocalnewspaperhewastoldtoseethemanager.
体温在39℃以上,24小时内波动范围大于2℃,体温最低时仍高于正常,这种热型是
关于贸易技术壁垒(TBT)的基本概念,下列说法错误的是()。
根据以下资料,回答下列小题。货物贸易规模迅速扩大。“十一五”期间,我国货物进出口总额累计116806亿美元,比“十五”期间增长1.6倍。其中,出口总额63997亿美元,增长1.7倍;进口总额52809亿美元,增长1.4倍。5年间,进出口贸易年均增长15.
在CSMA中,决定退让时间的算法为:①如果信道空闲,以户的概率发送,而以(1-p)的概率延迟一个时间单位t;②如果信道忙,继续监听直至信道空闲并重复步骤①;③如果发送延迟了一个时间单位t,则重复步骤①。上述算法为(14)。
单用户数据库管理系统与多用户数据库管理系统之间的最明显的也是最重要的差别是()。
A、There’smuchtodobesidesworkandstudy.B、It’sconvenientforpeopletogoanywhere.C、Thenaturalenvironmentisbeneficia
最新回复
(
0
)