西电《软件技术基础》上机大作业答案解析
电子科大20新上《软件技术基础》在线作业1_02
(单选题)1: 存储管理的目的是()。
A: 方便用户
B: 提高内存利用率
C: 方便用户和提高内存利用率
D: 增加内存实际容量
正确答案: D
(单选题)2: 下列操作中不是数据操作的是()。
A: 删除
B: 排序
C: 构造
D: 查找
正确答案: C
(单选题)3: 已经获得除()以外的所有运行所需资源的进程处于就绪状态。
A: 存储器
B: 打印机
C: CPU
D: 磁盘空间
正确答案: C
(单选题)4: ()不是操作系统关心的主要问题。
A: 管理计算机裸机
B: 设计、提供用户程序与计算机硬件系统的界面
C: 管理计算机系统资源
D: 高级程序设计语言的编译器
正确答案: D
(单选题)5: 已知某二叉树的前序序列是ABDC,中序序列是DBAC,问它的后序序列是()。A: 虚拟存储
B: 地址变换与重定位
C: 内存分配与回收
D: 进程调度
正确答案: D
(多选题)6: 为了实现将作业的逻辑地址转换为实际内存地址,需要建立的数据结构有()。A: 表头地址
B: 存储分块表
C: 页表
D: 作业表
正确答案: B,C,D
(多选题)7: 作业调度算法有()。
A: 先来先服务算法
(完整版)西南大学软件工程大作业题目及答案0010
软件工程大作业
第3章《结构化分析》习题解答
习题1
银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率、密码(可选)等信息,并印出存款单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
请用数据流图描绘本系统的功能,并用实体-关系图描绘系统中的数据对象。
解答:
(1)数据流图:
基本模型:
第二级模型(最终结果——完整的DFD图):
姓名 帐号 取款单
核对
1 金额
取款清单
1
存款单 存款 存款清单
1
1
姓名
住址 身份证号 存款类型 存款日期 金额 到期日期
电话
利率 储户
取款单
姓名 住址 电话 身份证号 存款单 填写 1 n n
填写 1
储户
姓名
住址 电话
身份证号
填写 1 n
n
填写 1 存款
存款清单
1 1
姓名
住址
身份证号
存款类型
存款日期 金额
到期日期
电话
利率
存款单
姓名 帐号 取款单 核对 1 金额
取款清单
1
(2)实体关系图ER :
E-R 图1:
E-R 图2:
E-R 图3:
总E-R 图:
旅客 订票 旅行社 n m
姓名 性别 身份证号
目的地
工作单位 旅行时间 服务 合约 航空公司 n n
1 1 习题2
为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。
西安电子科技大学微机原理上机要求及必做题目答案(汇编实现)
西安电子科技大学微机原理上机要求及必做题目答案(汇编实
现)
西安电子科技大学微机原理上机必做题目及汇编程序答案
1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。
编程要求与提示:
[1]两个加数均以压缩(组合)十进制数形式存放在ADD1和ADD2为首址的存贮器单元。
[2]和以压缩十进制数的形式存入SUM以下单元。
[3]将和送到屏幕显示部分功能的实现采用子程序的形式。
汇编语言实现如下:
STACK SEGMENT STACK
DB10H DUP(00)
STACK ENDS
DATA SEGMENT
ADD1DB12H,67H,85H,32H
ADD2DB21H,73H,65H,43H
SUM DB4H DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START:
MOV AX,DATA
MOV DS,AX
MOV AX,DATA
MOV ES,AX
MOV AX,STACK
MOV SS,AX
LEA SI,ADD1[3]
LEA BX,ADD2[3]
LEA DI,SUM[3]
MOV CX,4
CLC
L1:
MOV AL,[SI]
ADC AL,[BX]
DAA
MOV[DI],AL
DEC SI
DEC BX
DEC DI
LOOP L1
CALL DISPAL
;-------------------------------------EXITPROC:
MOV AH,4CH;结束程序
MOV AH,1
INT21H
西工大2020年4月《软件基础》作业机考参考答案
正确答案:
11.数据的基本单位是()。
A.数据
B.数据元素
C.数据项
D.数据结构
正确答案:
12.操作系统是一种()。
A.应用软件
B.系统软件
C.通用软件
D.工具软件
正确答案:
13.数据的基本单位是( )。
A.数据
B.数据元素
C.数据项
D.数据结构
正确答案:
14.()的主要目标是提高系统的吞吐量和效率。
D.以上说法均不对
正确答案:
42.数据词典的结构是由顶向下、逐步分解的( )。
A.分层结构
B.数据结构
C.控制结构
D.有序结构
正确答案:
43.在软件系统的生命周期中的分析阶段产生的文档是( )。
A.详细设计报告
B.模块说明书
C.用户使用手册
D.系统说明书
正确答案:
44.对有18个元素的有序表作二分查找,则查找A[3]的比较序列的下标依次为()。
C.不必事先估计存储空间
D.所需空间与线性表的长度成正比
正确答案:
18.栈和队列()。
A.的共同点都是先进后出
B.的共同点都是先进先出
C.的共同点是只允许在端点处插入和删除元素
D.没有共同点
正确答案:
19.链表不具有的特点是( )。
2020年6月西南大学计算机基础的在线考试答案
2020年6月西南大学计算机基
础的在线考试答案(总4页) -CAL-FENGHAI.-(YICAI)-Company One1
-CAL-本页仅作为文档封面,使用请直接删除
一、大作业题目
1.什么是文件?请写出以下扩展名对应的文件类型。
文件是存储在外部介质上的数据集合,计算机文件属于文件的一种,与普通文件载体不同,计算机文件是以计算机硬盘为载体存储在计算机上的信息集合。文件可以是文本文档、图片、程序等等。文件通常具有三个字母的文件扩展名,用于指示文件类型。
2.计算机内存由RAM和ROM组成,请写出它们各自的特点。
RAM(Random Access Memory)的全名为随机存取记忆体,它相当于PC机上的移动存储,用来存储和保存数据的。它在任何时候都可以读写,RAM通常是作为操作系统或其他正在运行程序的临时存储介质(可称作系统内存)。
不过,当电源关闭时RAM不能保留数据,如果需要保存数据,就必须把它们写入到一个长期的存储器中(例如硬盘)。正因为如此,有时也将RAM称作“可变存储器”。RAM内存可以进一步分为静态RAM(SRAM)和动态内存(DRAM)两大类。DRAM由于具有较低的单位容量价格,所以被大量的采用作为系统的主记忆。
RAM和ROM相比,两者的最大区别是RAM在断电以后保存在上面的数据会自动消失,而ROM就不会。4~8M的RAM对于一般应用程序的运行已经足够,如果追求多媒体功能,64M的RAM容量也只能够算是基本要求。
ROM(Read Only Memory)的全名为唯读记忆体,它相当于PC机上的硬盘,用来存储和保存数据。ROM数据不能随意更新,但是在任何时候都可以读取。即使是断电,ROM也能够保留数据。但是资料一但写入后只能用特殊方法或根本无法更改,因此ROM常在嵌入式系统中担任存放作业系统的用途。现在市面上主流的PDA的ROM大小是64MB以及128MB。
《计算机软件技术基础》课后题答案
数据结构习题答案
第一节概论
一、选择题
1.要求同一逻辑结构的所有数据元素具有相同的特性,这意味着( )。
A.数据元素具有同一的特点 *B.不仅数据元素包含的数据项的个数要相同,而且对应数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等
2.数据结构是一门研究非数值计算的程序设计问题中计算机的( (1) )以及它们之间的( (2) )和运算的学科。
(1) A.操作对象 B.计算方法 *C.物理存储 D.数据映像
(2) A.结构 *B.关系 C.运算 D.算法
3.数据结构被形式地定义为(D,R),其中D是( (1) )的有限集合,R是D上( (2) )的有限集合。
(1) A.算法 *B.数据元素 C.数据操作 D.逻辑结构
(2)A.操作 B.映像 C.存储 *D.关系
4.在数据结构中,从逻辑上可以把数据结构分为( )。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构 *C.线性结构和非线性结构 D.内部结构和外部结构
5.线性表的顺序存储结构是一种( )的存储结构。
*A.随机存取 B.顺序存取 C.索引存取 D.Hash存取
6.算法分析的目的是( )。
A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 *C.分析算法的效率以求改进 D.分析算法的易懂性和文档性
7.计算机算法指的是( (1) ),它必须具备输入、输出和( (2) )等五个特征。
(1) A.计算方法 B.排序方法 *C.解决某一问题的有限运算序列D.调度方法
(2) A.可行性、可移植性和可扩充性 *B.可行性、确定性和有穷性 C.确定性,有穷性和稳定性 D.易读性、稳定性和安全性
软件技术基础_课后答案_周大为_西电
Stack*temp; datatype x; InitS(temp); while(!EmptyS(s)) {
x=Pop(s); if(x!=m) Push(temp,x); } while(!Empty(temp)) Push(s,Pop(temp)); }
四、7
void strDelete(char*S,int i,int m) {
char temp[80];int k; k=i-1; if(i>=strlen(S)) return; else {
strncpy(temp,S,k); if(k+m>=strlen(S)) strcpy(temp+k,"\0"); else strcpy(temp+k,S+k+m); strcpy(S,temp); } } 或者: void strDelete(seqstring*S,int i,int m)
}
四、6
循环队列的结构类型定义:
const int m=5;
7
typedef int datatype; typedef struct { datatype sequ[m];
int rear, quelen; }qu; 说明:队满条件:sq->quelen==m 队空条件:sq->quelen==0 (注意:不需要空出一个位置) 入队: void enqueue(qu *sq, datatype x) { if(sq->quelen==m) printf("queue is full");
计算机软件技术基础习题与参考答案
习题1
1.下列描述中正确的是。
A.程序就是软件
B.软件开发不受计算机系统的限制
C.软件既是逻辑实体,又是物理实体
D.软件是程序、数据与相关文档的集合2.数据的存储结构是指。
A.存储在外存中的数据
B.数据所占的存储空间量
C.数据在计算机中的顺序存储方式
D.数据的逻辑结构在计算机中的表示3.数据结构中,与所使用的计算机无关的是数据的______。
A. 存储结构
B. 物理结构
C. 逻辑结构
D. 物理和存储结构4.以下数据结构中不属于线性数据结构的是______。
A. 队列
B. 线性表 C . 二叉树 D. 栈
5.在计算机中,算法是指______。
A. 查询方法
B. 加工方法
C. 解题方案的准确而完整的描述
D. 排序方法6.在下列选项中,哪个不是一个算法一般应该具有的基本特征______。
A. 确定性
B. 可行性
C. 无穷性
D. 拥有足够的情报
7.下面叙述正确的是______。
A. 算法的执行效率与数据的存储结构无关
B. 算法的空间复杂度是指算法程序中指令(或语句)的条数
C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止
D. 以上三种描述都不对
8.算法分析的目的是______。
A. 找出数据结构的合理性
B. 找出算法中输入和输出之间的关系
C. 分析算法的易懂性和可靠性
D. 分析算法的效率以求改进
9.算法的时间复杂度是指______。
A. 执行算法程序所需要的时间
B. 算法程序的长度
C. 算法执行过程中所需要的基本运算次数
D. 算法程序中的指令条数
10.算法的空间复杂度是指______。
大一计算机上机题目及答案(西电专用)
《《程序设计实践》上机报告
要求
:
五次上机(每次8机时)正确完成8~10 题。
最终提交:
(1) 电子版文档。格式模板参见《程序设计基础实验报告》(注意文档最后一部分包含课程设计小结)。
(2) 打印电子版文档。
(3) 源程序,打包成压缩文件提交。注意:(1) 压缩文件格式:学号.zip (或rar)。例如:03051122.zip(或03051122.rar) (2) 各源程序命名方式:no题号.c 。例如:no3.c (3) 源程序压缩包内只包含各题目的源程序和程序运行过程中需要的相关文件,不包含编译后的可执行文件和运行结果。
(4) 课程设计小结写本次课设的收获和体会。
备选题目如下:
算法类
1、已知2000年1月1日为星期六,输入任一年的年份后,打印该年
的年历。
2、假定用一个整型数组表示一个长整数,数组的每个元素存储长整
数的一位数字,实际的长整数m表示为:
m=a[k]×10k-1+a[k-1]×10k-2+….+a[2]×10+a[1]
其中a[0]保存该长整数的位数。完成(任选一题):
(1) 长整数乘普通整数。
(2) 长整数除普通整数。
3、假定用一个整型数组表示一个长整数,数组的每个元素存储长整
数的一位数字,实际的长整数m表示为:
m=a[k]×10k-1+a[k-1]×10k-2+….+a[2]×10+a[1]
其中a[0]保存该长整数的位数。完成(任选一题):
(1) 转换成16进制数输出。
(2) 转换成8进制数输出。
文件类
1、用文件保存一段英文文本。
(1) 统计各字母在文本中出现的次数(忽略大小写)。
西南大学《软件工程》网上作业题及答案
[0010]《软件工程》
第一次作业
[论述题](1) 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
参考答案:
目前使用得最广泛的软件工程方法学(2种):
1.传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用
[论述题]2软件生命周期划分成哪些阶段。
参考答案:
软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。
1. 软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析
2. 开发时期:总体设计、详细设计、编码和单元测试、综合测试。
3. 维护时期:主要任务是使软件持久地满足用户的需要。
[论述题]
(3) 什么是需求分析,需求分析阶段的基本任
务是什么?
参考答案:
需求分析就是理解用户需求,分析软件用户的需求是什么。
需求分析的任务就是解决"做什么"的问题,在问题定义和可行性研究的基础上,全面地理解用户的各项要求,并准确地表达所接受的用户需求。具体说来,就是把可行性研究阶段确定的系统功能进一步具体化,交出包括详细的数据流图、数据字典以及简要的算法描述在内的需求说明书。
[论述题](4) 可行性研究的任务
参考答案:1.进一步分析和澄清问题;2.导出系统的逻辑模型;3.从逻辑模型出发,提出若干种系统实现方案4.研究每种实现方案的可行性;5.为每个可行的解决方案制定一个粗略的实现进度6.对以后的行动方针提出建议
西电软件技术基础大作业
软件技术基础大作业
通讯录管理的设计
一、程序设计目的
通过对通讯录管理链表的课程设计,加深对程序设计的理解,熟练掌握和加深c语言的基本知识和语法规范,同时更进一步地理解数据结构对单链表知识的应用。
二、实验内容
设计一个含有多个菜单项的程序,菜单项内容如下:
1.通讯链表的建立
2.通讯者结点的插入
3.通讯者结点的查询
4.通讯者结点的删除
5.通讯录链表的输出
0.退出管理系统
三、算法分析
首先,应运用c语言中结构体的知识。把通讯者的各项信息储存到结构体的链表中,定义一个新的结构体类型struct(struct是声明结构体时所必须使用的关键字)它向编译系统声明这是一个“结构体类型”,它包括num, name ,phone 等不同类型的数据项。
其次运用数据结构中线性表的知识。线性表的存储结构分为线性表的线性存储结构和线性表的链式存储结构,线性表的顺序存储结构是指用一组地址连续的存储单元一次存储线性表的数据元素。线性表的链式存储结构则是通过指针反映元素之间的关系,不要求逻辑上相邻的元素在物理位置上也相邻,所以该方法可以克服顺序表的一些缺点。所以本次应运用线性链表的链式存储结构。线性链表的链式存储结构又分为单链表、循环链表和双链表,本次运用单链表的知识。
四、模块分析
1. 通讯链表的建立
建立单链表有两种方法,头插入法和尾插入法。头插入法是将每次新插入的结点插入在链表的表头,而尾插入法是将新插入的结点插入到链表的表尾。在这个通讯录的建立中将采用尾插入法建立链表。
2. 链表的插入
链表结点的插入是要求将一个通讯录数据结点按其编号的顺序插入有序通讯录表的相应位置,以保持其有序性。使用两个指针变量分别指向刚访问的结点和下一个结点,寻找插入结点的位置,其中一个指向待插入位置的前一个结点。
西南大学《计算机应用基础》网上作业题及答案
[0040]《计算机应用基础》
第一次作业
[判断题]asdfasdfawerasdfasdf
参考答案:正确
[多选题]asdfasdf
A:asdf
B:asdf
C:asdf
D:asdf
参考答案:ABCD
[单选题]asdfasdfasdf
A:asdf
B:asdf
C:aewr
D:asdf
参考答案:A
[论述题]asdfasdfasdf asdfasdfsadf
参考答案:
[填空题]askdfjiekajsdfijasidfjioawerjiwqojfdi
参考答案:
第二次作业
[单选题]gfhghj
A:jhjgjd
B:jdghhjs
C:gfdqg
D:jtjyj
参考答案:A
[单选题]gdfg
A:fgd
B:gfgd
C:gfga
D:gaf
参考答案:A
[论述题]ghjhhlkhj hljh;lkjijlkn hoihj 参考答案:
[论述题]dfjlsdfjw;fjsfmwelfmjposfvds 参考答案:
[填空题]
cj
fdl
参考答案:
20年10月西工大《软件基础》机考作业【答案】
20年10月西工大《软件基础》机考作业
红字部分为答案!
单选题
1.若某链表最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用()存储方式最节省时间。
A.单链表
B.双链表
C.带头结点的双循环链表
D.单循环链表
2.若已知一个栈的入栈序列是1,2,3,,n,其输出序列为p1,p2,p3,pn,若p1n,则pi
A.i
B.n-I
C.n-i1
D.不确定
3.具有65个结点的完全二叉树其深度为()。根的结点号为1
A.8
B.6
C.5
4.在操作系统中,JCB是指()。
A.作业控制块
B.进程控制块
C.文件控制块
D.程序控制块
5.顺序表中的每个元素占m个字节,第一个元素的存储地址为LOC1,则任意1个元素i的地址为()。
A.LOC1i*m
B.LOC1i-1*m
C.LCO1i1*m
D.i-1*m
6.测试过程分成3个步骤进行,不属于测试过程。
A.模块测试
B.联合测试
C.验收测试
D.用户测试
7.链表不具有的特点是()。
A.可随机访问任一元素
B.插入删除不需要移动元素
C.不必事先估计存储空间
D.所需空间与线性表的长度成正比
8.()是一旦有处理请求和要求处理的数据时,CPU就应该立即处理该数据并将结果及时送回。
A.实时操作系统
B.多道批处理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
L->last++;
附录:原代码
实验一:第1题(1)
//顺序表逆置的程序代码
#include<stdio.h>
#include<malloc.h>
//顺序表结构类型定义
typedef char datatype;
const int maxsize=1024;
typedef struct
{ datatype data[maxsize];
2.能够编写一些查找的算法
二、实验内容
1.18个记录的关键字为22、12、13、8、9、20、33、42、44、38、24、48、60、58、74、49、86、53,编写分块查找的算法进行查找。(文件夹:分块查找)
2.编写一个判别给定的二叉树是否为二叉排序树的算法,设二叉树以二叉链表存储表示,结点的数据域只存放正整数。(文件夹:判断二叉排序树)
实验六图
一、实验目的
1.熟悉图的邻接矩阵和邻接表的存储结构
2.熟悉图的邻接矩阵和邻接表的建立算法
3.掌握图的遍历算法
二、实验内容
1.无向图采用邻接矩阵存储,编写深度优先搜索遍历算法,从不同的顶点出发对无向图进行遍历。(文件夹:无向图邻接矩阵)
实验七排序
一、实验目的
1.熟悉各种内部排序算法
2.能够编写程序显示排序过程中各趟排序的结果
3.能够利用栈和队列的基本运算完成栈和队列应用的运算
二、实验内容
1.设单链表中存放有n个字符,试编写算法,判断该字符串是否有中心对称的关系,例如xyzzyx是中心对称的字符串。(提示:将单链表中的一半字符先依次进栈,然后依次出栈与单链表中的另一半字符进行比较。)(文件夹:判字符串中心对称)
2.假设以数组sequ[m]存放循环队列的元素,同时设变量rear和quelen分别指示循环队列中队尾元素的位置和内含元素的个数。编写实现该循环队列的入队和出队操作的算法。提示:队空的条件:sq->quelen==0;队满的条件:sq->quelen==m。(文件夹:循环队列)
int last;
}sequenlist;
void create(sequenlist*&);
void print(sequenlist*);
void invert(sequenlist*);
void main()
{
sequenlist*L;
create(L);//建立wenku.baidu.com序表
print(L);//输出顺序表
实验三串
一、实验目的
1.熟悉串的顺序存储结构
2.掌握串的基本运算及应用
二、实验内容
1.串采用顺序存储结构,编写朴素模式匹配算法,查找在串中是否存在给定的子串。(文件夹:模式匹配)
2.若S是一个采用顺序结构存储的串,利用C的库函数strlen和strcpy(或strncpy)编写一算法void SteDelete(char*S,intI,int m),要求从S中删除从第i个字符开始的连续m个字符。若i≥strlen(S),则没有字符被删除;若i+m≥strlen(S),则将S中从位置i开始直至末尾的字符均删除。(文件夹:删除子串)
二、实验内容
1.已知二叉树采用二叉链表存储结构,如果左、右子树非空,且左子树根结点大于右子树根结点,则交换根结点的左、右子树。即按要求交换二叉树及子树的左、右子树。(文件夹:交换左右子树)
2.采用二叉链表结构存储一棵二叉树,编写一个算法统计该二叉树中结点总数及叶子结点总数。(文件夹:统计二叉树结点)
2.已知由不具有头结点的单链表表示的线性表中,含有三类字符的数据元素(字母、数字和其他字符),试编写算法构造三个以循环链表表示的线性表,使每个表中只含有同一类的字符,且利用原表中的结点空间,头结点可另辟空间。(文件夹:分解单链表)
实验二栈和队列
一、实验目的
1.熟悉栈和队列的顺序和链式存储结构
2.掌握栈和队列的基本运算
invert(L);//调用顺序表逆值的函数
print(L);//输出顺序表
}
//建立顺序表
void create(sequenlist*&L)
{
L=(sequenlist*)malloc(sizeof(sequenlist));
L->last=0;
char ch;
while((ch=getchar())!='*')
3.能够利用线性表的基本运算完成线性表应用的运算
二、实验内容
1.设有一个线性表E={e1, e2,…, en-1, en},设计一个算法,将线性表逆置,即使元素排列次序颠倒过来,成为逆线性表E’={ en, en-1,…, e2, e1},要求逆线性表占用原线性表空间,并且用顺序表和单链表两种方法表示,分别用两个程序来完成。(文件夹:顺序表逆置、单链表逆置)
实验四数组
一、实验目的
1.熟悉数组的结构
2.掌握矩阵的压缩存储
3.能够对数组和矩阵的压缩存储进行运算
二、实验内容
1.若在矩阵Am×n中存在一个元素A[i][j],其满足A[i][j]是第i行元素中最小值,且又是第j列元素中最大值,则称此元素为该矩阵的一个马鞍点。用二维数组存储矩阵Am×n,设计算法求出矩阵中所有马鞍点。(文件夹:找马鞍点)
3.能够编写一些排序的算法
二、实验内容
1.采用希尔排序方法对顺序表中的证型数据进行排序,设计希尔排序算法并显示每趟排序的结果。(文件夹:希尔排序)
2.编写一个双向起泡的排序算法,即在排序过程中交替改变扫描方向,同时显示各趟排序的结果。(文件夹:双向起泡排序)
实验八查找
一、实验目的
1.熟悉线性表、二叉排序树和散列表的查找
说明
每个实验题目含有一个main函数和一些函数,与实验题目相关的基本运算的函数定义和main函数定义的代码在附录以及对应的文件夹中给出,供上机实验参考使用。对于每个题目,只需要根据题目要求设计算法,补充函数定义,然后对程序进行编译、调试。
实验一线性表
一、实验目的
1.熟悉线性表的顺序和链式存储结构
2.掌握线性表的基本运算
2.A和B是两个n×n阶的对称矩阵,以行为主序输入对称矩阵的下三角元素,压缩存储存入一维数组A和B,编写一个算法计算对称矩阵A和B的乘积,结果存入二维数组C。(文件夹:对称矩阵相乘)
实验五树
一、实验目的
1.熟悉二叉树的链式存储结构
2.掌握二叉树的建立、深度优先递归遍历等算法
3.能够利用遍历算法实现一些应用