【考研类试卷】考研计算机学科专业基础综合-53及答案解析.doc
《【考研类试卷】考研计算机学科专业基础综合-53及答案解析.doc》由会员分享,可在线阅读,更多相关《【考研类试卷】考研计算机学科专业基础综合-53及答案解析.doc(4页珍藏版)》请在麦多课文档分享上搜索。
1、考研计算机学科专业基础综合-53 及答案解析(总分:100.00,做题时间:90 分钟)一、综合应用题(总题数:3,分数:100.00)已知线性表(a 1 ,a 2 ,a 3 ,a n )存放在一维数组 A 中。试设计一个在时间和空间两方面都尽可能高效的算法,将所有奇数号元素移到所有偶数号元素前,并且不得改变奇数号(或偶数号)元素之间的相对顺序,要求:(分数:30.00)(1).给出算法的基本设计思想。(分数:10.00)_(2).根据设计思想,采用 C 或 C+或 Java 语言描述算法,关键之处给出注释。(分数:10.00)_(3).说明你所设计算法的时间复杂度和空间复杂度。(分数:10.
2、00)_已知长度为 n(n1)的单链表,表头指针为 L,结点结构由 data 和 next 两个域构成,其中 data 域为字符型。试设计一个在时间和空间两方面都尽可能高效的算法,判断该单链表是否中心对称(例如xyx、xxyyxx 都是中心对称的),要求:(分数:30.00)(1).给出算法的基本设计思想。(分数:10.00)_(2).根据设计思想,采用 C 或 C+或 Java 语言描述算法,关键之处给出注释。(分数:10.00)_(3).说明你所设计算法的时间复杂度和空间复杂度。(分数:10.00)_1.设 m+n 个元素顺序存放在数组 A1m+n中,前 m 个元素递增有序,后 n 个元素
3、递增有序,试设计一个在时间和空间两方面都尽可能高效的算法,使得整个顺序表递增有序,要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用 C 或 C+或 Java 语言描述算法,关键之处给出注释。 (3)说明你所设计算法的时间复杂度和空间复杂度。 (分数:40.00)_考研计算机学科专业基础综合-53 答案解析(总分:100.00,做题时间:90 分钟)一、综合应用题(总题数:3,分数:100.00)已知线性表(a 1 ,a 2 ,a 3 ,a n )存放在一维数组 A 中。试设计一个在时间和空间两方面都尽可能高效的算法,将所有奇数号元素移到所有偶数号元素前,并且不得改变奇数号(或偶
4、数号)元素之间的相对顺序,要求:(分数:30.00)(1).给出算法的基本设计思想。(分数:10.00)_正确答案:()解析:算法的基本设计思想: 在数组尾部从后往前,找到第一个奇数号元素,将此元素与其前面的偶数号元素交换。这样,就形成了两个前后相连且相对顺序不变的奇数号元素“块”。 暂存中“块”前面的偶数号元素,将“块”内奇数号结点依次前移,然后将暂存的偶数号结点复制到空出来的数组单元中。就形成了三个连续的奇数号元素“块”。 暂存中“块”前面的偶数号元素,将“块”内奇数号结点依次前移,然后将暂存的偶数号结点复制到空出来的数组单元中。就形成了四个连续的奇数号元素“块”。 如此继续,直到前一步的
5、“块”前没有元素为止。(2).根据设计思想,采用 C 或 C+或 Java 语言描述算法,关键之处给出注释。(分数:10.00)_正确答案:()解析:算法的设计如下: void Bubble_Swap(ElemType A, int n) int i=n, v=1; /i 为工作指针,初始假设 n 为奇数,v 为“块”的大小 ElemTvpe temp; /辅助变量 if(n%2=0) i=n-1; /若 n 为偶数,则令 i 为 n-1 while(i1) /假设数组从 1 开始存放。当 i=1 时,气泡浮出水面 temp=Ai-1; /将“块”前的偶数号元素暂存 for(int j=0;
6、jv; j+)/将大小为 v 的“块”整体向前平移 Ai-i+j=Ai+j /从前往后依次向前平移 Ai+v-1=temp; /暂存的奇数号元素复制到平移后空出的位置 i=i-2; v+; /指针向前,块大小增 1 /while (3).说明你所设计算法的时间复杂度和空间复杂度。(分数:10.00)_正确答案:()解析:一共进行了 n/2 次交换,每次交换的元素个数从 1n/2,因此时间复杂度为 O(n 2 )。虽然时间复杂度为 O(n 2 ),但因 n 2 前的系数很小,实际达到的效率是很高的。算法的空间复杂度为 O(1)。已知长度为 n(n1)的单链表,表头指针为 L,结点结构由 data
7、 和 next 两个域构成,其中 data 域为字符型。试设计一个在时间和空间两方面都尽可能高效的算法,判断该单链表是否中心对称(例如xyx、xxyyxx 都是中心对称的),要求:(分数:30.00)(1).给出算法的基本设计思想。(分数:10.00)_正确答案:()解析:算法的基本设计思想: 借助辅助栈,将链表的前一半元素依次进栈。注意即为奇数时要特殊处理。 在处理链表的后一半元素时,当访问到链表的一个元素后,就从栈中弹出一个元素,两元素比较,若相等,则将链表中下一元素与栈中再弹出元素比较,直至链表到尾。 若栈是空栈,则得出链表中心对称的结论;否则,当链表中一元素与栈中弹出元素不等时,结论为
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研 试卷 计算机 学科专业 基础 综合 53 答案 解析 DOC
