- 80
- 0
- 约3.3千字
- 约 4页
- 2018-12-13 发布于天津
- 举报
一、试设计算法在O(n)时间内将数组A[1..n]划分为左右两个.doc
PAGE 1
PAGE 2
厦门大学《_数据结构_
厦门大学《_数据结构_》课程期末试卷
信息科学与技术学院计算机科学系2004年级___专业
主考教师:____试卷类型:(A卷/B卷)
一、试设计算法在O(n)时间内将数组A[1..n]划分为左右两个部分,使得左边的所有元素奇数,右边的所有元素均为偶数,要求所使用的辅助存储空间大小为O(1)。
解:该题算法的主要思路如下:
(1)设置两个指针i和j,其中i=1,j=n。
(2)当ij时作如下循环:
i不断自加从左往右找到第一个偶数
j不断自减从右往左找到第一个奇数
A[i]与A[j]交换
(3)算法结束
Adjust(int A[1..n])
{
int i=1, j=n;
while (ij ){
while (A[i] % 2 != 0 i=n) i++;
while (A[i] % 2 = =0 j=1) j--;
if (in || j1) break;
if (ij) A[i] ?? A[j];
}
}
算法的时间复杂性为O(n),辅助存储空间为O(1)。
二、写一个算法将一带头结点的单链表逆转,要求利用原表结点空间,不允许申请新的结点空间。
解:
方法一:建立一个新的单链表,其中的结点从原表得来,即每个原表中得到一个结点,就要将此结点插入新链表中。由于要将表逆转,原表的头结点成为新链表的头
您可能关注的文档
- 2018年江苏省义务教育学生学业质量测试考务培训.ppt
- AR过程的线性建模与功率谱估计.doc
- E卢亮亮专用文件夹七年级历史课件大一统井冈山-大汉.ppt
- Ⅰ型前胶原N端前肽、β胶原特殊序列和.PDF
- 《不确定性人工智能》课件之二.PDF
- 【洲际皇冠】湖南岳麓山赏枫、张家界天门山、凤凰古城.doc
- 【疾病名】新生儿泌尿系统感染.PDF
- 一.高三历史复习思路热点复习试题演练规范答题二.专题教学.ppt
- 一、解析函数的罗朗展式.ppt
- 一种ARM存储模型的快速检测方法.PDF
- 2026年中国试验器行业市场占有率及投资前景预测分析报告.docx
- 2026年企业技术保护与知识产权协议.docx
- 2026年中国输配电设备行业市场分析与发展方向研究报告(定制版).docx
- 2026年企业知识产权的现状问题和建议.docx
- 2026年企业知识产权及商业秘密策划管理协议.docx
- 2026年企业知识产权纠纷策划协调协议样本.docx
- 深圳专用新教材英语沪教版八年级上册Unit8 Pets and us单元测试(含解析).docx
- 贵州贵阳市2025-2026学年度第二学期高二年级期末英语试卷(含答案).docx
- 北京市顺义区第一中学2025—2026学年度第二学期期末练习高二英语试卷(含答案).docx
- 甘肃兰州市新区教育片区联考2025--2026学年第二学期期末考试高一英语学科试卷(含答案).docx
最近下载
- 城市轨道交通通信与信号 第3版 配套课件.ppt VIP
- 慢性硬膜下血肿护理查房.pptx VIP
- 微生物学考试题库及答案大全.docx VIP
- 新型电力系统导论.docx
- 方正证券-比亚迪-002594-公司深度报告-比亚迪深度系列(四),新能源大航海时代开启,重塑全球估值动能.pdf VIP
- DB13/T 2311-2015 河北省预拌砂浆技术规程.pdf VIP
- KS焊线机(1)_ks焊线机手册中文版,ks焊线机技.pdf VIP
- 微生物学考试题库及答案.docx VIP
- 哺乳母猪智能化饲喂技术规范__DB2201_T 69-2024_可搜索.pdf
- 职业生涯规划PPT(第3版)高职全套教学课件.pptx
原创力文档

文档评论(0)