北理工《数据结构与算法》在线作业_2
北京理工大学《数据结构》试题及答案(B卷)
一、单项选择题1.算法必须具备的三个特性是( )。
A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性2.下列数据中,( )是非线性数据结构。
A.栈B.队列C.完全二叉树D.顺序表3.算法分析的两个方面是( )。
A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性4.非空的循环单链表head的尾结点p满足( )。
A.p->next==head B.p->next==NULLC.p==NULL D.p==head5.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是( )。
A.p->next=s;s->next=p->next; B.s->next=p->next;p->next=s;C.p->next=s;p->next=s->next; D.p->next=s->next;p->next=s;6.按照二叉树的定义,具有3个结点的二叉树有( )种。
A.3 B.4C.5 D.67.在一个有向图中,所有顶点的入度之和是所有顶点的出度之和的( )倍。
A.1/2 B.1C.2 D.48.二叉排序树是( )。
A.每一分支结点的度均为2的二叉树B.中序遍历得到一升序序列的二叉树C.按从左到右顺序编号的二叉树D.每一分支结点的值均小于左子树上所有结点的值,大于右子树上所有结点的值9.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是( )。
A.1和 5 B.2和4C.4和2 D.5和110.下列说法中正确的是( )。
A.堆栈是在两端操作、先进后出的线性表B.堆栈是在一端操作、先进先出的线性表C.队列是在一端操作、先进先出的线性表D.队列是在两端操作、先进先出的线性表11.不带头结点的单链表head为空的判定条件是( )。
奥鹏北理工《数据结构与算法》在线作业标准答案
C数组的读、写运算只能读取或修改一个数据元素的一部分
D数组的读、写运算只能读取或修改一个数据元素整体
【答案】:B
14.用链接方式存储的队列,在进行插入运算时()。
【选项】:
A仅修改头指针
B头、尾指针都要修改
C仅修改尾指针
D头、尾指针可能都要修改
D队列是在两端操作、后进先出的线性表
【答案】:
3.以下关于线性表的说法不正确的是()。
【选项】:
A线性表中的数据元素可以是数字、字符、记录等不同类型
B线性表中包含的数据元素个数不是任意的
C线性表中的每个结点都有且只有一个直接前趋和直接后继
D存在这样的线性表:表中各结点都没有直接前趋和直接后继
【答案】:C
【选项】:
A栈顶
B栈底
C任意位置
D指定位置
【答案】:A
32.下列排序方法中,排序趟数与序列的原始状态有关的方法是()。
【答案】:D
15.下列说法哪个是不正确的()。
【选项】:
A快速排序属于不稳定排序。
B希尔排序属于不稳定排序。
C直接插入排序属于不稳定排序。
D堆排序属于不稳定排序。
【答案】:
16.设有一个二维数A[m][n],以行序为主序存储。假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,则A[4][5]在()位置,(10)表明用10进数表示。
D选择排序
【答案】:C
29.当待排序列基本有序时,下列排序方法中()最好。
【选项】:
A直接插入排序
B快速排序
C堆排序
D归并排序
北理网上作业数据结构与算法
范文范例 精心整理 在线作业自动判卷 20171119题目类型分正确答案 你的答案 批改值评价排序算法好坏的标准主要是( )。
单选题 10.0 4 × 已知一栈的进栈序列为: 1234,则下列序列中不可能的出栈序 单选题 10.04× 列是( )。
在数据结构中,与所使用的计算机无关的是数据的( )10.0 1× 结构单选题在线性表顺序存储结构下,在第i 个元素之前插入新元素一般 单选题 10.0 1× 需要 ()线性表的顺序存储结构是一种()的存储结构。
单选题 10.0 1 × 以下关于线性表的说法不正确的是()。
单选题 10.03× 队列是一种( )。
单选题 10.01 × 在表达式求值算法中,需要用几个栈? 单选题 10.03 ×队列的操作特点是( )。
单选题 10.01 × 下列不属于栈基本运算的是( )。
单选题 10.02 ×本次作业总分值 :100.0 得分 :0.0 正确的题数: 0 题目总数:10 正确率 :0.0%在线作业自动判卷题目类型分正确答案 你的答案 批改值在数据结构中,与所使用的计算机无关的是数据的( ) 10.01 结构单选题 ×学习数据结构主要目的是( )。
单选题10.03× A 算法的时间复杂度为 O (n 3 ),B 算法的时间复杂度为 O ( 2n ),10.02× 则说明( )。
单选题若某线性表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用哪一种存储结构算法的时间效 单选题10.04× 率最高 ?线性表的顺序存储结构是一种( )的存储结构。
单选题10.0 1 × 用线性链表存储线性表时,要求存储空间 单选题10.02×栈与一般的线性表的区别在于()。
单选题10.0 2 ×栈是一种()的数据结构。
17秋北理工《数据结构与算法》在线作业
A.有序
B.无序
C.既可有序也可无序
正确答案:A??????满分:2.5??分
2.??如果想在4092个数据中只需要选择其中最小的5个,采用()方法最好。
A.冒泡排序
B.堆排序
C.锦标赛排序
D.快速排序
正确答案:B??????满分:2.5??分
正确答案:A??????满分:2.5??分
8.??顺序查找适合于存储结构为()的查找表。
A.压缩存储
B.散列存储
C.索引存储
D.顺序存储或链式存储
正确答案:D??????满分:2.5??分
9.??从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为()排序法。
D. 15
正确答案:B??????满分:2.5??分
22.??n个顶点的连通图至少有()条边。
A. n-1
B. n
C. n+1
D. 0
正确答案:A??????满分:2.5??分
23.??稀疏矩阵一般的压缩存储方法有两种,即()。
A.二维数组和三维数组
B.三元组表和散列表
C.三元组表和十字链表
D.散列表和十字链表
A. n/2
B. n
C. (n+1)/2
D. n+1
正确答案:B??????满分:2.5??分
16.??下列说法正确的是()
A.堆栈是在两端操作、先进后出的线性表
B.堆栈是在一端操作、先进后出的线性表
C.队列是在一端操作、先进先出的线性表
D.队列是在两端操作、后进先出的线性表
2022年北京理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)
2022年北京理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、下列说法不正确的是()。
A.图的遍历是从给定的源点出发每个顶点仅被访问一次B.遍历的基本方法有两种:深度遍历和广度遍历C.图的深度遍历不适用于有向图D.图的深度遍历是一个递归过程2、下列排序算法中,占用辅助空间最多的是()。
A.归并排序B.快速排序C.希尔排序D.堆排序3、线性表的顺序存储结构是一种()。
A.随机存取的存储结构B.顺序存取的存储结构C.索引存取的存储结构D.Hash存取的存储结构4、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>, <V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G的拓扑序列是()。
A.V1,V3,V4,V6,V2,V5,V7B.V1,V3,V2,V6,V4,V5,V7C.V1,V3,V5,V2,V6,V7D.V1,V2,V5,V3,V4,V6,V75、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。
A.仅修改队头指针B.仅修改队尾指针C.队头、队尾指针都可能要修改D.队头、队尾指针都要修改6、下列关于无向连通图特性的叙述中,正确的是()。
Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ7、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。
下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。
Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ8、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。
北京理工大学数据结构与算法设计实验二
《数据结构与算法设计》实验报告——实验二学院:自动化学院班级:06111001学号:**********姓名:宝竞宇一、实验目的掌握栈的建立,输入,删除,出栈等基本操作。
应用栈解决实际问题。
二、实验内容实现简单计算器的功能,请按照四则运算加、减、乘、除、幂(^)和括号的优先关系和惯例,编写计算器程序。
要求支持运算符:+、-、*、/、%、()和=:①从键盘输入一个完整的表达式,以回车作为表达式输入结束的标志;②输入表达式中的数值均为大于等于零的整数,如果中间计算过程中出现小数也只取整进行计算。
例如,输入:4+2*5= 输出:14输入:(4+2)*(2-10)= 输出:-48三、程序设计1、概要设计抽象数据类型定义:两个栈结构,分别用来储存数据和计算符号宏定义:函数“成功”,“失败的返回值”在主程序程序中先依次输入各表达式,存入相应各栈,然后,调用“判断函数”来判断计算符的优先次序,然后再利用计算函数来计算,表达式值。
其中还有,取栈顶元素函数,存入栈函数。
2、详细设计数据类型实现:struct t{ char dat[200];int top;}prt;入栈函数:存入数组,栈顶指针上移void pushd(long int a){ prd.dat[prd.top++]=a;}出栈:取出对应值,栈顶指针下移long int popd( ){ return prd.dat[--prd.top];}比较优先级:建立数组,比较返回大于小于号。
计算函数:以字符型输入,运算符号,用switch来分支计算判断,返回计算数值long int operation ( long int x, long int y, char a){ s witch(a){ case '+': return x+y;case '-': return x-y;case '*': return x*y;case '/': if ( y )return x/y;else{ printf("Divide 0.\n");return 0;}case '%': return (long int) fmod(x,y);case '^': if (y>=0 ) return (long int) pow(x,y);else return (0);default: printf("Error No. 3\n");return 0;}}主程序:在主程序内,以字符串的形式输入表达式,然后分别调用函数存入各相应栈,然后用数组判断,比较运算符的优先顺序。
北理工大数据结构作业2
第三章作业1、写出下列程序段的输出结果。
viod main ( ){ Stack S;char x, y;InitStack (S);x=’c’; y=’k’;Push(S, x); Push(S, ’a’); Push(S, y);Pop(S, x); Push(S, ’t’); Push(S, x);Pop(S, x); Push(S, ’s’);while ( ! StackEmpty(S) ){ Pop(S, y);printf (y);}printf(x);}答:stack2、简述下列算法的功能(栈的元素类型SElemType为int)。
(1)Ststus algo1(Stack S){ int I, n, A[255];n=0;while ( ! StackEmpty(S) ){ n++; Pop(S, A[n]);}for ( i=1; i<=n; i++ )Push(S, A[n]);}答:实现栈中元素的逆置(2)Status algo2(Stack S, int e){ Stack T; int d;InitStack (T);while ( ! StackEmpty(S) ){ Pop(S, d);if ( d!=e ) Push(T, d);}while ( ! StackEmpty(T) ){ Pop (T, d);Push (S, d);}}答:通过栈T的辅助删除栈S中所有值为e的元素3、设有4个元素1、2、3、4依次进栈,而出栈操作可随时进行(进出栈可任意交错进行,但要保证进栈次序不破坏1、2、3、4的相对次序),请写出所有可能的出栈次序。
答:共14种情况,顺序如下:1234,1243,1324,1342,1432,2134,2143,2314,2341,2431,3421,3241,3214,4321。
4、写出下列程序段的输出结果(队列中的元素类型QelemType为char)。
17春北理工《实用数据结构与算法》在线作业
2017秋17春北理工《实用数据结构与算法》在线作业一、单选题(共20 道试题,共40 分。
)1. 具有2000个结点的二叉树,其高度至少为()。
A. 9B. 10C. 11D. 12正确答案:2. 含4个结点(元素值均不相同)的二叉搜索树有()种。
A. 12B. 14C. 5D. 15正确答案:3. 当两个元素比较出现反序时就相互交换位置的排序方法称为()。
A. 归并排序B. 选择排序C. 交换排序D. 插入排序正确答案:4. 对线性表进行二分查找时,要求线性表必须()。
A. 以顺序方式存储B. 以链接方式存储C. 以顺序方式存储,且结点按关键字有序排列D. 以链接方式存储,且结点按关键字有序排列正确答案:5. 设有50行60列的二维数组A[50][60],其元素长度为4字节,按行优先顺序存储,基地址为200,则元素A[18][25]的存储地址为()。
A. 3700B. 4376C. 3900D. 4620正确答案:6. 一棵高度(假定树根结点为第0层)为4的完全二叉树中的结点数最少为()。
A. 15B. 16C. 17D. 31正确答案:7. 根据二叉树的定义可知二叉树共有()种不同的形态。
A. 4B. 5C. 6D. 7正确答案:8. 对哈希(HASH)函数H(k)= k MOD m, 一般来说,m应取()。
A. 素数B. 很大的数C. 偶数D. 奇数正确答案:9. 一个数组第一个元素的存储地址是100,每个数组元素的长度为2,则第5个元素的地址是()。
A. 110B. 108C. 100D. 120正确答案:10. 用链接方式存储的队列,在进行插入运算时()。
A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D. 头、尾指针可能都要修改正确答案:11. 一个栈的入栈序列是abcde,则栈的不可能的输出序列是()。
A. edcbaB. decbaC. dceabD. abcde正确答案:12. 图的存储结构不包括()A. 数组表示B. 邻接表C. 邻接多重表D. 孩子兄弟表示正确答案:13. 有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当采用折半查找值为82的节点时,()次比较后查找成功。
北京理工大学数据结构模拟题答案
本资料由理硕教育整理,理硕教育是全国唯一专注于北理工考研辅导的学校,相对于其它机构理硕教育有得天独厚的优势。
丰富的理工内部资料资源与人力资源确保每个学员都受益匪浅,确保理硕教育的学员初试通过率89%以上,复试通过率接近100%,理硕教育现开设初试专业课VIP一对一,初试专业课网络小班,假期集训营,复试VIP一对一辅导,复试网络小班,考前专业课网络小班,满足学员不同的需求。
因为专一所以专业,理硕教育助您圆北理之梦。
详情请查阅理硕教育官网数据结构试卷(一)参考答案一、选择题(每题2分,共20分)1.A2.D3.D4.C5.C6.D7.D8.C9.D 10.A二、填空题(每空1分,共26分)1.正确性易读性强壮性高效率2.O(n)3.9 3 34.-1 3 4 X * + 2 Y * 3 / -5.2n n-1 n+16.e 2e7.有向无回路8.n(n-1)/2 n(n-1)9.(12,40)()(74)(23,55,63)10.增加111.O(log2n) O(nlog2n)12.归并三、计算题(每题6分,共24分)1.线性表为:(78,50,40,60,34,90)2.邻接矩阵:邻接表如图11所示:图113. 用克鲁斯卡尔算法得到的最小生成树为: (1,2)3, (4,6)4, (1,3)5, (1,4)8, (2,5)10, (4,7)204. 见图12四、读算法(每题7分,共14分) 1. (1)查询链表的尾结点(2)将第一个结点链接到链表的尾部,作为新的尾结点(3)返回的线性表为(a 2,a 3,…,an ,a 1) 2. 递归地后序遍历链式存储的二叉树。
五、法填空(每空2分,共8 分) true BST->left BST->right 六、编写算法(8分)int CountX(LNode* HL,ElemType x) { int i=0; LNode* p=HL;//i 为计数器 while(p!=NULL) { if (P->data==x) i++; p=p->next;}//while, 出循环时i 中的值即为x 结点个数 return i; }//CountX数据结构试卷(二)参考答案一、选择题1.D2.B3.C4.A5.A6.C7.B8.C二、填空题1.构造一个好的HASH函数,确定解决冲突的方法2.stack.top++,stack.s[stack.top]=x3.有序4.O(n2),O(nlog2n)5.N0-1,2N0+N16.d/27.(31,38,54,56,75,80,55,63)8.(1,3,4,5,2),(1,3,2,4,5)三、应用题1.(22,40,45,48,80,78),(40,45,48,80,22,78)2.q->llink=p; q->rlink=p->rlink; p->rlink->llink=q; p->rlink=q;3.2,ASL=91*1+2*2+3*4+4*2)=25/94.树的链式存储结构略,二叉树略5.E={(1,3),(1,2),(3,5),(5,6),(6,4)}6.略四、算法设计题1.设有一组初始记录关键字序列(K1,K2,…,K n),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于K i,右半部分的每个关键字均大于等于K i。
北理工《数据结构与算法》在线作业_2
北理工《数据结构与算法》在线作业试卷总分:100 测试时间:-- 试卷得分:99.5一、单选题(共40 道试题,共99.5 分。
)得分:99.51. 下列说法正确的是()A. 堆栈是在两端操作、先进后出的线性表B. 堆栈是在一端操作、先进后出的线性表C. 队列是在一端操作、先进先出的线性表D. 队列是在两端操作、后进先出的线性表正确答案:B 满分:2.5 分得分:2.52. 判定一个队列Q(最多元素为m0)为满队列的条件是()A. rear-front= = m0B. rear-front-1= =m0C. front= =rearD. front= =rear+1正确答案:D 满分:2.5 分得分:2.53. 评价排序算法好坏的标准主要是()。
A. 执行时间B. 辅助空间C. 算法本身的复杂度D. 执行时间和所需的辅助空间正确答案:D 满分:2.5 分得分:2.54. 设有50行60列的二维数组A[50][60],其元素长度为4字节,按行优先顺序存储,基地址为200,则元素A[18][25]的存储地址为()。
A. 3700B. 4376C. 3900D. 4620正确答案:D 满分:2.5 分得分:2.55. 根据二叉树的定义可知二叉树共有()种不同的形态。
A. 4B. 5C. 6D. 7正确答案:B 满分:2.5 分得分:2.56. 以下排序方法中,稳定的排序方法是()。
A. 直接插入排序和希尔排序B. 直接插入排序和冒泡排序C. 希尔排序和快速排序D. 冒泡排序和快速排序正确答案:B 满分:2.5 分得分:2.57. 下述几种排序方法中,平均查找长度最小的是()。
A. 插入排序B. 选择排序C. 快速排序D. 归并排序正确答案:C 满分:2.5 分得分:2.58. 在数据结构中,与所使用的计算机无关的是数据的()结构A. 逻辑B. 存储C. 逻辑和存储D. 物理正确答案:A 满分:2.5 分得分:2.59. 二分查找(又称折半查找)要求查找表中的记录按关键字()。
北京理工大学考研数据结构模拟题2
本资料由理硕教育整理,理硕教育是全国唯一专注于北理工考研辅导的学校,相对于其它机构理硕教育有得天独厚的优势。
丰富的理工内部资料资源与人力资源确保每个学员都受益匪浅,确保理硕教育的学员初试通过率89%以上,复试通过率接近100%,理硕教育现开设初试专业课VIP一对一,初试专业课网络小班,假期集训营,复试VIP一对一辅导,复试网络小班,考前专业课网络小班,满足学员不同的需求。
因为专一所以专业,理硕教育助您圆北理之梦。
详情请查阅理硕教育官网数据结构试卷(二)一、选择题(24分)1.下面关于线性表的叙述错误的是()。
(A) 线性表采用顺序存储必须占用一片连续的存储空间(B) 线性表采用链式存储不必占用一片连续的存储空间(C) 线性表采用链式存储便于插入和删除操作的实现(D) 线性表采用顺序存储便于插入和删除操作的实现2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。
(A) 2m-1 (B) 2m (C) 2m+1 (D) 4m3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()。
(A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。
(A) BADC (B) BCDA (C) CDAB (D) CBDA5.设某完全无向图中有n个顶点,则该完全无向图中有()条边。
(A) n(n-1)/2 (B) n(n-1) (C) n2(D) n2-16.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。
(A) 9 (B) 10 (C) 11 (D) 127.设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。
北京理工大学数据结构作业(全)
北京理工大学数据结构作业(全)北理工数据结构作业第二章作业1、在什么情况下用顺序表比链表好?(题集2.3)需要对线性表进行随机存取时,顺序表比链表好。
2、已知L是带表头结点的非空单链表,且P结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。
(题集2.7)a.删除P结点的直接后继结点的语句序列是11 3 14。
b.删除P结点的直接前驱结点的语句序列是10 12 8 3 14。
c.删除P结点的语句序列是10 12 7 3 14。
d.删除首元结点的语句序列是12 11 3 14。
e.删除尾元结点的语句序列是12 11 3 14。
(1)p = p->next;(2)p->next = p;(3)p->next = p->next->next;(4)p = p->next->next;(5)while ( p!=NULL ) p=p->next;(6)while ( q->next!=NULL ) { p=q; q=q->next; }(7)while ( p->next!=q ) p=p->next;(8)while ( p->next->next!=q ) p=p->next;(9)while ( p->next->next!=NULL ) p=p->next;(10)q=p;(11)q=p->next;(12)p=l;(13)l=l->next;(14)free(q);3、算法设计。
设顺序表va中的数据元素递增有序,请设计一算法,将x插入到顺序表的适当位置,以保持该表的有序性。
(题集2.11)typedef struct{ElemType *elem;int length;int listsize;}Sqlist;Status ListInsert_Sq(Sqlist &va , ElemType x){if(va.length==va.listsize) return ERROR;for(i=va.length-1;i>=0&&xva.elem[i+1]=x;va.length++;return OK;}4、算法设计。
数据结构与算法学习习题答案
数据结构与算法学习习题答案1. 简介数据结构与算法是计算机科学中非常重要的内容之一。
通过学习数据结构与算法,我们能够更好地理解和解决各种问题,提高程序的效率和性能。
本文将为大家提供一些常见的数据结构与算法习题的答案,帮助大家巩固和加深对该领域的理解和应用。
2. 数组2.1 翻转数组答案:可以使用两个指针,一个指向数组的头部,一个指向尾部,依次交换两个指针所指向的元素,直到两个指针相遇。
2.2 找出数组中的最大值和最小值答案:可以设定两个变量,一个用于保存最大值,一个用于保存最小值,然后遍历整个数组,依次比较每个元素与最大值和最小值的大小,并进行更新。
3. 链表3.1 反转链表答案:可以使用三个指针,分别指向当前节点、前一个节点和后一个节点。
依次将当前节点指向前一个节点,并更新三个指针的位置,直到当前节点变为NULL。
3.2 找出链表中的中间节点答案:可以使用两个指针,一个快指针和一个慢指针,快指针每次移动两个节点,慢指针每次移动一个节点,当快指针到达链表末尾时,慢指针所在的节点就是链表的中间节点。
4. 栈和队列4.1 有效的括号答案:可以使用栈来解决。
遍历字符串,当遇到左括号时,将其压入栈中;当遇到右括号时,判断栈顶元素是否为与之对应的左括号,若是,则弹出栈顶元素,否则返回False。
最后判断栈是否为空,若为空,则返回True,否则返回False。
4.2 设计一个最小栈答案:可以使用两个栈来解决。
一个栈用于保存正常的数据,另一个栈用于保存最小值。
每次插入操作时,同时更新最小值栈中的元素,保证最小值栈的栈顶元素一直为当前栈中的最小值。
5. 树与图5.1 二叉树的遍历答案:有三种常见的二叉树遍历方式:前序遍历、中序遍历和后序遍历。
前序遍历先遍历根节点,然后遍历左子树,最后遍历右子树;中序遍历先遍历左子树,然后遍历根节点,最后遍历右子树;后序遍历先遍历左子树,然后遍历右子树,最后遍历根节点。
5.2 广度优先搜索答案:广度优先搜索是一种图的遍历算法。
2023年北理工春秋数据结构与算法在线作业
一、单项选择题(共40道试题, 共100分。
)V1.3个结点旳无向完全连通图至少有()条边。
A.3B.4C.5D.62.设有一种二维数A[m][n], 以行序为主序存储。
假设A[0][0]寄存位置在644(10), A[2][2]寄存位置在676(10), 每个元素占一种空间, 则A[4][5]在()位置, (10)表明用10进数表达。
A.692(10)B.626(10)C.709(10)D.724(10)3.具有n个顶点旳有向完全图有()条弧。
A.nB.n*(n-1)C.n*(n+1)D.n*n4.队列旳操作特点是()。
A.先进先出B.后进先出D.只能从队尾出队5.一种栈旳入栈序列是abcde, 则栈旳不也许旳输出序列是()。
A.edcbaB.decbaC.dceabD.abcde6.某二叉树旳前序和后序序列恰好相似, 则该二叉树一定是()旳二叉树。
A.空或只有一种结点B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子7.学习数据构造重要目旳是()。
A.处理数值计算问题B.研究程序设计技巧C.选用合适数据构造, 写出更有效旳算法D.是计算机硬件课程旳基础8.任何一种无向连通图旳最小生成树()。
A.只有一棵B.有一棵或多棵D.也许不存在9.栈是一种()旳数据构造。
A.存取受限旳线性构造B.存取不受限旳线性构造C.存取受限旳非线性构造D.存取不受限旳非线性构造10.线性表采用链式存储时, 结点旳存储地址()A.必须是不持续旳B.持续与否均可C.必须是持续旳D.和头结点旳存储地址相持续11.一棵高度(假定树根结点为第0层)为4旳完全二叉树中旳结点数至少为()。
A.15B.16C.17D.3112.次序查找适合于存储构造为()旳查找表。
A.压缩存储B.散列存储D.次序存储或链式存储13.设连通图G中旳边集E={(a, b), (a, e), (a, c), (b, e), (e, d), (d, f), (f, c)}, 则从顶点a出发可以得到一种深度优先遍历旳顶点序列为()A.abedfcB.acfebdC.aebdfcD.aedfcb14.评价排序算法好坏旳原则重要是()。
北交《数据结构(专)》在线作业二-0002.3747
北交《数据结构(专)》在线作业二-0002
判定一个顺序栈(最多元素为m个)为空的条件是()。
A:top==0
B:top==m
C:top!=0
D:top!=m
答案:A
串的逻辑结构与()的逻辑结构不同。
A:线性表
B:栈
C:队列
D:树
答案:D
两个串相等的充分必要条件是()。
A:两个串的长度相等
B:两个串对应位置的字符相等
C:两个串的长度相等且对应位置的字符相同
D:以上条件都不正确
答案:C
在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为()。
A:e
B:2e
C:n*n-e
D:n*n-2e
答案:D
二叉树上叶结点数等于()。
A:分支结点数加1
B:单分支结点数加1
C:双分支结点数加1
D:双分支结点数减1
答案:C
已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是()。
A:acbed
B:decab
C:deabc
D:cedba
答案:D
假设一个有n个顶点和e条弧的有向图用邻接表表示,则删除与某个顶点vi相关的所有弧的时间复杂度是()。
A:O(n)
B:O(e)
C:O(n+e)
D:O(n*e)
答案:C
计算机的算法必须具备输入,输出和()五个特性。
A:可行性,可移植性和可扩充性
B:可行性,确定性和有穷性。
数据结构与算法设计
北京理工大学现代远程教育学院2004-2005学年第一学期《数据结构和算法设计》试卷班级:姓名:学号:成绩:一、选择(15 分 )1.如果类 A 中定义了一个成员函数形式为void put(int);以 A 类为基类的派生类中重载此函数,以下()不对。
A 、void put(float);B、void put(int);C、int put(int); D 、 void put(char*);2.如果以某个类的成员函数方式重载了运算符” /号”, a/b表达式对应的函数调用形式为()A 、a. operator/(b);B、operator/(a,b);C、b. operator/(a); D 、 operator/(b,a);3.公有派生类的外部对象允许访问其基类(private 、 protected 、public各域)中的 ()域成员。
A 、privateB 、public C、 protected D 、 protected 和 public4.Base为基类, First 为其派生类, Last为 First 的派生类,如果定义Base obj1 ,*P1; First obj2,*p2;Last obj3 ,*p3;以下语句非法的为();A 、p1=&obj2;B 、p2=&obj3;C、 p3=&obj2;D、p2=&obj2;5.如果类 A 中定义了一个成员函数为虚函数,其函数原型为void put(int);以 A 类为基类的派生类 B 中, ( ) 函数具有虚特性。
A 、void put(float); B、int put( );C、 void put(int); D 、void put(char*); 6.高度为 K 的二叉树至多有()个结点( K>=≥ -1 )A 、 2 k+1 -1B 、 2 k+1+1C、 2 k -1D 、 2 k +17 .线性链表是通过何种方式表示元素之间的关系( )A 、后继元素地址B 、元素的存储顺序C、左、右孩子地址D 、元素的相对存储位置8 .数据结构在计算机中的表示是指( )A 、数据的存储结构B 、数据结构C、数据的逻辑结构D 、数据元素9 .用线性链表存储线性表时,要求存储空间( )A 、必须是连续的B 、连续不连续都可以C、部分元素的存储空间必须是连续的D 、必须是不连续的.10.若某线性表最常用的操作是在表头或表尾结点之后插入一个结点或删除一个结点,则采用哪一种存储结构算法的时间效率最高。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北理工《数据结构与算法》在线作业
试卷总分:100 测试时间:-- 试卷得分:99.5
一、单选题(共40 道试题,共99.5 分。
)得分:99.5
1. 下列说法正确的是()
A. 堆栈是在两端操作、先进后出的线性表
B. 堆栈是在一端操作、先进后出的线性表
C. 队列是在一端操作、先进先出的线性表
D. 队列是在两端操作、后进先出的线性表
正确答案:B 满分:2.5 分得分:2.5
2. 判定一个队列Q(最多元素为m0)为满队列的条件是()
A. rear-front= = m0
B. rear-front-1= =m0
C. front= =rear
D. front= =rear+1
正确答案:D 满分:2.5 分得分:2.5
3. 评价排序算法好坏的标准主要是()。
A. 执行时间
B. 辅助空间
C. 算法本身的复杂度
D. 执行时间和所需的辅助空间
正确答案:D 满分:2.5 分得分:2.5
4. 设有50行60列的二维数组A[50][60],其元素长度为4字节,按行优先顺序存储,基地址为200,则元素A[18][25]的存储地址为()。
A. 3700
B. 4376
C. 3900
D. 4620
正确答案:D 满分:2.5 分得分:2.5
5. 根据二叉树的定义可知二叉树共有()种不同的形态。
A. 4
B. 5
C. 6
D. 7
正确答案:B 满分:2.5 分得分:2.5
6. 以下排序方法中,稳定的排序方法是()。
A. 直接插入排序和希尔排序
B. 直接插入排序和冒泡排序
C. 希尔排序和快速排序
D. 冒泡排序和快速排序
正确答案:B 满分:2.5 分得分:2.5
7. 下述几种排序方法中,平均查找长度最小的是()。
A. 插入排序
B. 选择排序
C. 快速排序。