算法分析与设计20春在线作业1【东北师范大学答案51037】
- 格式:rtf
- 大小:16.44 KB
- 文档页数:6
东北师范大学
在线作业
参考答案
试读一页
Java程序设计20春在线作业1-0002
试卷总分:100
一、单选题 (共 10 道试题,共 30 分)
1.下列说法中错误的一项是()。
A.Java语言提供了检测与避免死锁的机制
B.在Java语言中,要避免死锁,只能通过程序进行控制
C.释放锁的时候,应该按照死锁顺序的逆序进行
D.在编写程序的时候,可以对所有共享数据设汁一个统一的加锁顺序正确答案:A
2.在编写Java Applet程序时,需要在程序的开头写上( )语句。
A.import java.awt.* ;
B.import java.applet.* ;
C.import java.io.* ;
D.import java.awt.event.* ;
正确答案:B
3.以下哪项可能包含菜单条()。
算法分析与设计作业参考答案《算法分析与设计》作业参考答案作业⼀⼀、名词解释:1.递归算法:直接或间接地调⽤⾃⾝的算法称为递归算法。
2.程序:程序是算法⽤某种程序设计语⾔的具体实现。
⼆、简答题:1.算法需要满⾜哪些性质?简述之。
答:算法是若⼲指令的有穷序列,满⾜性质:(1)输⼊:有零个或多个外部量作为算法的输⼊。
(2)输出:算法产⽣⾄少⼀个量作为输出。
(3)确定性:组成算法的每条指令清晰、⽆歧义。
(4)有限性:算法中每条指令的执⾏次数有限,执⾏每条指令的时间也有限。
2.简要分析分治法能解决的问题具有的特征。
答:分析分治法能解决的问题主要具有如下特征:(1)该问题的规模缩⼩到⼀定的程度就可以容易地解决;(2)该问题可以分解为若⼲个规模较⼩的相同问题,即该问题具有最优⼦结构性质;(3)利⽤该问题分解出的⼦问题的解可以合并为该问题的解;(4)该问题所分解出的各个⼦问题是相互独⽴的,即⼦问题之间不包含公共的⼦问题。
3.简要分析在递归算法中消除递归调⽤,将递归算法转化为⾮递归算法的⽅法。
答:将递归算法转化为⾮递归算法的⽅法主要有:(1)采⽤⼀个⽤户定义的栈来模拟系统的递归调⽤⼯作栈。
该⽅法通⽤性强,但本质上还是递归,只不过⼈⼯做了本来由编译器做的事情,优化效果不明显。
(2)⽤递推来实现递归函数。
(3)通过Cooper 变换、反演变换能将⼀些递归转化为尾递归,从⽽迭代求出结果。
后两种⽅法在时空复杂度上均有较⼤改善,但其适⽤范围有限。
三、算法编写及算法应⽤分析题: 1.冒泡排序算法的基本运算如下: for i ←1 to n-1 dofor j ←1 to n-i do if a[j]交换a[j]、a[j+1];分析该算法的时间复杂性。
答:排序算法的基本运算步为元素⽐较,冒泡排序算法的时间复杂性就是求⽐较次数与n 的关系。
(1)设⽐较⼀次花时间1;(2)内循环次数为:n-i 次,(i=1,…n ),花时间为:∑-=-=in j i n 1)(1(3)外循环次数为:n-1,花时间为:2.设计⼀个分治算法计算⼀棵⼆叉树的⾼度。
【奥鹏】-[东北师范大学]数据结构20春在线作业1试卷总分:100 得分:100第1题,数据结构中的任一数据元素至多只有一个前驱和一个后继,该数据结构是 ( )A、线性表B、广义表C、树形结构D、图结构正确答案:A第2题,插入、删除只能在同一端进行的线性表,称为 ( )。
A、队列B、循环队列C、栈D、循环栈正确答案:C第3题,任何一棵二叉树的叶结点在前序、中序和后序遍历序列中的相对次序 ( )。
A、不发生改变B、发生改变C、稍有改变D、不能确定正确答案:A第4题,在k叉树中,度为0的结点称为 ( )。
A、根B、叶C、祖先D、子孙正确答案:B第5题,在下列排序算法中,哪一个算法的时间复杂度与记录初始排列无关 ()。
A、直接插入排序B、冒泡排序C、快速排序D、直接选择排序正确答案:D第6题,下面哪些方法可以判断出一个有向图是否有环(回路)? ()A、广(宽)度优先遍历B、拓扑排序C、求最短路径D、求关键路径正确答案:B第7题,串是一种特殊的线性表,其特殊性体现在 ( )。
A、可以顺序存储B、数据元素是一个字符C、可以链接存储D、数据元素可以是多个字符正确答案:B第8题,head指向的带表头结点的单链表为空的判定条件是 ( )。
A、head = = NULLB、head-next = = headC、head ! = NULLD、head-next = = NULL正确答案:D第9题,二叉树在线索化后,仍不能有效求解的问题是 ( )。
A、前序线索二叉树中求前序后继B、中序线索二叉树中求中序前驱C、中序线索二叉树中求中序后继D、后序线索二叉树中求后序后继正确答案:D第10题,算法分析的两个主要方面是 ( )。
A、正确性与健壮性B、可读性与可用性C、时间复杂度与空间复杂度D、数据复杂性与程序复杂性正确答案:C第11题,下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按其关键字有序。
【奥鹏】-[东北师范大学]算法分析与设计20春在线作业1试卷总分:100 得分:100第1题,按F5开始调试,程序便会直接运行到断点处。
接下来可以逐行来运行程序,查看各个变量的值,也可以直接运行到下一个断点或程序结束,这样过程被称作()。
A、设置断点B、单步调试C、程序编译D、程序调试正确答案:B第2题,()主要是用来显示当前目录的名称或更改当前的目录。
A、dirB、cdC、typeD、fc正确答案:B第3题,输出一个字符串时使用()格式符。
A、%cB、%sC、%dD、%e正确答案:B第4题,动态规划是一种在数学和计算机科学中使用的,用于求解包含()的最优化问题的方法。
A、重叠子问题B、相似子问题C、互斥子问题D、有序子问题正确答案:A第5题,如何一步步的跟踪代码,找到问题,搞明白为何程序不能正常运行,这个过程称为()。
A、编写程序B、调试程序C、执行程序D、编译程序正确答案:B第6题,对于循环队列,下列叙述中正确的是()A、队头指针是固定不变的B、队头指针一定大于队尾指针C、队头指针一定小于队尾指针D、队头指针可以大于队尾指针,也可以小于队尾指针正确答案:D第7题,下列对队列的叙述正确的是()。
A、队列属于非线性表B、队列按“先进后出”原则组织数据C、队列在队尾删除数据D、队列按“先进先出”原则组织数据正确答案:D第8题,以C语言为例,下列四个选项中,均是不合法的用户标识符的是()。
A、BA、x_0、doB、float、1a0、_YC、x-y、goto、123D、_123、tmp、CHAR正确答案:C第9题,()命令用来显示ASCII码文件的内容。
A、dirB、cdC、typeD、fc正确答案:C第10题,下列排序算法中,其中()是稳定的。
A、堆排序,冒泡排序B、快速排序,堆排序C、直接选择排序,归并排序D、归并排序,冒泡排序正确答案:D第11题,strlen(str)是用来()。
A、求字符串长度B、比较字符C、求子串D、字符串拷贝正确答案:A第12题,批处理,也称为批处理脚本,其文件扩展名为()。
C程序设计19春在线作业1-0003试卷总分:100 得分:100一、单选题(共20 道试题,共60 分)1.以下的for 循环for(x=0,y=0;(y!=123)&&(x<4);x++) ; ()A.执行3 次B.执行4 次C.循环次数不定D.是无限循环答案:B2.以下不属于算法基本特征的是()A.有穷性B.有效性C.可靠性D.有一个或多个输出答案:C3.以下程序:main( ) { char s1[40]="country",s2[20]="side"; int i=0,j=0; while(s1[i]!='\0') i++; while(s2[j]!='\0') s1[i++]=s2[j++]; s1[i]=0; printf("%s\n",s1); } 的输出结果为()A.sideB.countryC.sidetryD.countryside答案:D4.要把高级语言编写的源程序转换为目标程序,需要使用()A.编辑程序B.驱动程序C.诊断程序D.编译程序答案:D5.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是()A.k%2B.k%2==1C.(k%2)!=0D.!k%2==1答案:D6.下面的选项中正确的赋值语句是(char a[5],*p=a;)()A.p=“abcd”;B.a=“abcd”;C.*p=“abcd”;D.*a=“abcd”;答案:A7.设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()A.552B.144C.264D.-264答案:D8.能正确表示a≥10或a≤0的关系表达式是()A.a>=10 or a<=0B.a>=10│a<=0C.a>=10||a<=0D.a>=10&&a<=0答案:C9.下列不能实现赋值操作的是()A.a++B.a== bC.a+=bD.a=1答案:B10.有以下程序段: int m=0,n=0; char c=‘a’; scanf("%d%c%d",&m,&c,&n); printf("%d,%c,%d\n",m,c,n); 若从键盘上输入:10A10<回车>,则输出结果是()A.10,A,10B.10,a,10C.10,a,0D.10,A,0答案:A11.当说明一个结构体变量时,系统分配它的内存是()A.各成员所需内存容量的总和B.结构体中第一个成员所需内存C.各成员所需内存容量的最大值D.结构体中最后一个成员所需内存答案:A12.设有以下宏定义:#define H 30 #define LEN H+20 则执行赋值语句v=LEN*10;后,v的值是()A.60B.230C.500。
东北师范大学
在线作业
参考答案
试读一页
C 程序设计20春在线作业1-0005
试卷总分:100
一、单选题 (共 20 道试题,共 60 分)
1.已知:类A中一个成员函数说明如下:void Set(A&a);其中,A&的含义是()。
A.指向类A的指针为a
B.将a的地址值赋给变量Set
C.a是类A对象的引用,用来作函数Set()的参数
D.变量A与a按位与作为函数Set( )的参数
正确答案:C
2.下面关于运算符重载的描述错误的是()。
A.重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构
B.不是所有的运算符都可以进行重载
C.运算符函数的调用必须使用关键字operator
D.在C++语言中不可通过运算符重载创造出新的运算符
正确答案:C
3.在函数定义前加上关键字"inline",表示该函数被定义为()。
(单选题)1: 图中有关路径的定义是()。
A: 由顶点和相邻顶点序偶构成的边所形成的序列
B: 由不同顶点所形成的序列
C: 由不同边所形成的序列
D: 上述定义都不是
正确答案: A
(单选题)2: ()是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境等等。
A: VS
B: VM
C: Dev-C++
D: IDE
正确答案: A
(单选题)3: 下列数据结构中,属于非线性结构的是()。
A: 循环队列
B: 带链队列
C: 二叉树
D: 带链栈
正确答案: C
(单选题)4: 下列叙述中正确的是()。
A: 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B: 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C: 顺序存储结构能存储有序表,链式存储结构不能存储有序表
D: 链式存储结构比顺序存储结构节省存储空间
正确答案: A
(单选题)5: 十六进制中最大的数码是()。
A: 16
B: 15
C: F
D: E
正确答案: C
(单选题)6: 二进制,就表示某一位置上的数运算时是逢()进一位。
A: 2
B: 8
C: 9
D: 10
正确答案: A
(单选题)7: 在程序代码编辑框外(一般都是程序代码的最左侧)双击,就成功设置了一个断。
(单选题)1: 下列叙述中正确的是()
A: 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B: 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C: 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D: 上述三种说法都不对
正确答案: C
(单选题)2: 十进制算术表达式:3*512+7*64+4*8+5的运算结果,用二进制表示为()。
A: 10111100101
B: 11111100101
C: 11110100101
D: 11111101101
正确答案: B
(单选题)3: 十进制数2014等值于八进制数()。
A: 4028
B: 3736
C: 2726
D: 2014
正确答案: B
(单选题)4: 下面命名规则中,哪项不是现在比较常用的命名规则()。
A: 匈牙利命名法
B: 骆驼命名法
C: 下划线命名法
D: 图灵命名法
正确答案: D
(单选题)5: 下列叙述中正确的是()。
A: 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B: 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C: 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D: 上述三种说法都不对
正确答案: B
(单选题)6: 在程序调试中,我们需要借助于()来中断程序的运行,查看变量的值。
A: 变量名
B: 断点
C: 设置断点函数
D: 程序段
正确答案: B
(单选题)7: 十六进制数C1B转换为二进制数是()。
A: 1100101101011。
算法分析与设计20春在线作业1
红字部分为答案!
单选题
1.下列叙述中正确的是()
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D.上述三种说法都不对
2.十进制算术表达式:3*512+7*64+4*8+5的运算结果,用二进制表示为()。
A.10111100101
B.11111100101
C.11110100101
D.11111101101
3.十进制数2014等值于八进制数()。
A.4028
B.3736
C.2726
D.2014
4.下面命名规则中,哪项不是现在比较常用的命名规则()。
A.匈牙利命名法
B.骆驼命名法
C.下划线命名法
D.图灵命名法
5.下列叙述中正确的是()。
A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D.上述三种说法都不对
6.在程序调试中,我们需要借助于()来中断程序的运行,查看变量的值。
A.变量名
B.断点
C.设置断点函数
D.程序段
7.十六进制数C1B转换为二进制数是()。
A.1100101101011
B.110000011011
C.10110101010
D.11101001011
8.判断 c 是否是数字字符的函数是()。
A.isalpha(int c)
B.isalnum(int c)。