内蒙古大学算法与数据结构试卷(三套)及参考答案

假设以行优先顺序存储三维数组A[5][6][7],其中元素A[0][0][0]的地址为1100,并且每个元素占2个存储单元,则A[4][3][2]的地址是1264。()

此题为判断题(对,错)。


正确答案:错误


假设一个顺序表中第一个数据元素在主存中的存储单元地址是100,每个元素占 用2个存储单元,则第5个元素所在存储单元的地址是()。

A、108

B、110

C、112

D、120


答案:A


● 关于广义表有下列说法:①广义表( )和( ( ) )是相同的两个广义表 ②广义表( )长度为0,深度也为0③广义表( ( ) )的表头和表尾一样 ④广义表( )的表头为( )⑤广义表(a, b, c, d)的表头是a ⑥广义表(a, b, c, d)的表尾是b, c, d⑦广义表(a, b, c, d)的表尾是d其中正确的个数为()。()A. 2 B. 3 C. 4 D. 5


正确答案:A
广义表中元素的个数称为广义表的长度。广义表中括号的层数称为广义表的深度。
  ( )是空表,长度0,但深度是1。( ( ) )不是空表,其长度为1,因为它有一个元素( )。
  ( ( ) )的表头表尾都是( )。当广义表非空时,我们称第一个元素为表头,而 ( )是空表,其无表头定义。广义表(a, b, c, d)的表头是a,表尾是(b, c, d),而不是没加括号的b, c, d,也不是最后一个元素d。因此只有③、⑤正确。


顺序表中第一个元素的起始存储地址为100,每个元素的长度为4,则第五个元素的起始地址是()。

A.105

B.110

C.116

D.120


参考答案:C


已知数组A[1..10,1..10]为对称矩阵,其中每个元素占5个单元。现将其下三角部分按行优先次序存储在起始地址为1000的连续内存单元中,则元素A[5,6]对应的地址为(19)。

A.1094

B.1095

C.1096

D.1125


正确答案:B
解析:注意是下三角部分按行优先。


第 1页共 8 页计算机软件学院计算机软件学院 2006 级级 2007200720082008 学年第一学期学年第一学期算法与数据结构试卷算法与数据结构试卷(A(A 卷卷) )(闭卷 120 分钟)班级姓名学号重修标记总分题号一二三四五核分人得分复查人得分一、一、填空题(本大题共填空题(本大题共 1010 小题,每空小题,每空 1 1 分,共分,共 1616 分分)1.1. 数据结构所讨论的三个方面为、和。2.2. 将下三角矩阵A108的下三角部分按行优先存储到起始地址为1000的内存单元中,已知每个元素占 4 个单元,则 A75的地址是。3.3. 广义表( a ,b ),c ,d,( e ,( f,g ) 的表头是,表尾是,表的长度为,表的深度为。4.4. 在串 S=student 中,以 u 为首字符的子串有个。5.5. 假设以 S 和 X 分别表示入栈和出栈操作,则对输入序列 a , b , c , d 进行一系列操作 SSXSXSXX 之后,得到的输出序列为。6.6. 快速排序在排序码有序的状态下, 其时间复杂度为。 平均情况下快速排序的时间复杂度为。7.7. 已知完全二叉树的第 10 层上有 7 个结点,则其结点总数为。8.8. 含有 n 个顶结点, e 条边的无向图的邻接矩阵中, 零元素的个数为。9.9. 在图的深度优先遍历算法中,用到的重要的数据结构是,10.10. 3 个结点可构成棵不同形态的树。得分得分评卷人评卷人装订线第 2页共 8 页二、二、选择题选择题(在每小题的四个备选答案中在每小题的四个备选答案中,选出一个正选出一个正确的答案,并将其号码填在题干中的括号内,本大题确的答案,并将其号码填在题干中的括号内,本大题共共 1010 小题,每小题小题,每小题 2 2 分,共分,共 2020 分)分)1111下列说法中不正确的是()A. 数据元素是数据的基本单位B. 数据项是数据中不可分割的最小可标识单位C. 数据可由若干个数据元素构成D. 数据项可由若干个数据元素构成1212. 线性表是()A. 一个有限序列,可以为空B. 一个有限序列,不可以为空C. 一个无限序列,可以为空D. 一个无限序列,不可以为空1313. 栈和队列的共同点是()A. 都是先进后出B. 都是先进先出C. 只允许在端点处插入和删除元素D. 没有共同点1414. 串是一种特殊的线性表,其特殊性体现在()A. 可以顺序存储B. 数据元素可以是一个字符C. 可以链式存储D. 数据元素可以是多个字符1515. 对稀疏矩阵采用压缩存储,其缺点之一是()A. 无法判断矩阵有多少行多少列B. 无法根据列号查找某个矩阵元素C. 无法根据行列号计算矩阵元素的存储地址D. 使矩阵元素之间的逻辑关系更加复杂1616. 一棵完全二叉树上有 1001 个结点,其中叶子结点的个数是()A. 250B. 501C. 254D. 5051717. 在一个无向图中,所有顶点的度之和等于边数的()倍A. 1/2B. 1C. 2D. 41818. 一个无向连通图的生成树是含有该连通图的全部顶点的()A. 极小连通子图B. 极小子图C. 极大连通子图D. 极大子图1919. 散列表的平均查找长度()A. 与处理冲突的方法有关而与表的长度无关B. 与处理冲突的方法无关而与表的长度有关C. 与处理冲突的方法有关而与表的长度有关D. 与处理冲突的方法无关而与表的长度无关2020.快速排序方法在()情况下最不利于发挥其长处A. 要排序的数据量太大B. 要排序的数据中含有多个相同值C. 要排序的数据已基本有序D. 要排序的数据个数为奇数得分得分评卷人评卷人第 3页共 8 页三、三、简答题简答题( (本大题共本大题共 5 5 小题,每小题小题,每小题 4 4 分,共分,共 2020 分分) )21.21. 数据结构中研究的逻辑结构有哪些?各有什么特点?2222阅读下列算法,说明下面递归过程的功能。int exam (BinTreeNode *root) /指针 root 指向二叉树的根指针if (t=NULL) return 0;else if (t-leftChild=NULL & t-rightChild=NULL) return 1;else return exam (t-leftChild)+exam (t-rightChild);得分得分评卷人评卷人装订线第 4页共 8 页23.23. 已知一棵二叉树的前序遍历序列为 ABDEHCG, 中序遍历序列为 DBHEACG,请画出此二叉树。24.24. 设哈希表 HT13,采用线性探测再散列解决冲突。哈希函数为:H(key)=key % 13;注:%是求余数运算(=mod)。若插入的关键码序列为2,8,31,20,19,18,53,27。试画出插入这 8 个关键码后的哈希表。25.25. 已知有向图:G= V= a , b , c , d , e , f , g E=,(1) 用图画出该有向图; (2 分)(2) 写出该有向图的一个拓扑序列。 (2 分)26.26.请写出下列稀疏矩阵顺序存储的行主序的三元组表示。 008000000000507202900017000000032000780022A0123456789101112第 5页共 8 页四、四、算法应用题算法应用题( (本大题共本大题共 3 3 小题,每小题小题,每小题 8 8 分,分,共共 2424 分分) )2626. 给出从顶点 1 到顶点 8 的关键路径及关键路径长度。得分得分评卷人评卷人装订线第 6页共 8 页2727. 给出对输入的元素85,50,35,100,65,20,45,30,50,5进行归并排序的示意图。并28.28. 输入一个正整数序列40,28,6,72,100,3,54,1,80,91,38,建立一棵二叉查找树。并对该二叉查找树进行中序遍历。第 7页共 8 页五、算法设计题五、算法设计题( (本大题共本大题共 2 2 小题,每小题小题,每小题 1010 分,分,第第 3030 题中每空题中每空 2 2 分,共分,共 2020 分分) )2929.对带头结点的单链表,给出进行直接插入排序的算法。单链表类定义如下:class LinkList;class Node /链表结点类friend class LinkList;/声明链表类为其友元类private:intdata;/结点数据类型,整型Node *next;/结点指针;class LinkList /链表类private:Node *head;/头指针public:Node*MaxValue(Node *head);/*求以 head 为头指针的单链表中值最大的数据元素,函数返回该最大值所在结点的指针。*/;得分得分评卷人评卷人装订线第 8页共 8 页3030. 下面给出的是对以二叉链表存储的二叉查找树进行查找关键字 key 的算法, 该算法在查找成功时,函数返回关键字 key 所在结点的指针,否则返回空指针。请阅读算法,并在空缺处填入合适的内容,使其成为一个完整的算法。BinaryTreeNode *Search(keyType key,BinaryTreeNode *&root) p=root;while ()if(key=p-key)return;else if ()p=p-leftChild;else;/while; / search第 9页共 8 页 本科课程考试试题参考答案及评分标准开开课课单单位位: :计计算算机机学学院院学学生生所所在在学学院院:软软件件学学院院(2008 2009 年年第第一一学学期期)课程编号01332340学分/总学时4/64课程名称算法与数据结构课程类别公共课 专专业/年级计算机科学与技术/2006 级修读方式必修课选修出题教师赵玉兰、刘玉林是否主干是考试方式闭卷开1. 逻辑结构,存储结构,基本操作(或算法)2.11323. ( a ,b ) ,(c ,d,( e ,( f,g ),4,34.45. bcda6. 0(n2), O(nlog2n)7.10308. n2-2e9. 栈10. 211121314151617181920DACDDCCAAC21. 线性结构、集合、树型结构、图型或网状结构线性结构的特点:结构中的数据元素具有“一对一”的关系集合特点:结构中的数据元素只具有“同属于一个集合”的关系树型结构的特点:结构中的数据元素存在一对多的关系图型结构的特点:结构中的数据元素存在多对多的关系22. 统计二叉树中叶结点数23. 见手工画24. 散列表2753231192081825.见手工画26. 见手工画0123456789101112第 10页共 8 页27(1)初始序列35,74,59,50,06,38,47,10,50*,12,0535745059063810471250*053550597406103847051250*0610353847505974051250*050610123538475050*5974(2)进行了 4 趟归并排序。28.29.30. high=n-1low xmid第 1页共 8 页计算机学院计算机学院 2007 级级 2008200820092009 学年第二学期学年第二学期算法与数据结构试卷算法与数据结构试卷(A(A 卷卷) )(闭卷 120120 分钟)班级姓名学号重修标记总分题号一二三四五核分人得分复查人得分一、一、单项选择题单项选择题(在每小题的四个备选答案中在每小题的四个备选答案中,选出一选出一个正确的答案,并将其号码填在题干中的括号内。本个正确的答案,并将其号码填在题干中的括号内。本大题共大题共 1010 小题,每小题小题,每小题 2 2 分,共分,共 2020 分)分)1. 向一个有 127 个元素的顺序表中插入一个新元素,平均要移动()个元素(假定每个位置插入的概率都相等)。A.8B.63.5C.63D.642.在头指针为 head 的非空单循环链表中,指针 p 指向尾结点,下列关系成立的是()。A. p-next=headB. p-next-next=headC. p-next=NULLD. p=head3. 设有一个二维数组Amn, 假设A00存放位置在644, A22存放位置在676,每个元素占一个字节,则 A45在()位置。A. 692B.626C.709D. 7244. 设有一个顺序栈 S,元素 s1, s2, s3, s4, s5, s6 依次进栈,如果 6 个元素的出栈顺序为 s2, s3, s4, s6, s5, s1,则顺序栈的容量至少应为()。A.2B.3C.4D.55. 在一个具有 n 个顶点的有向图中,所有顶点的出度之和为 Sum ,则所有顶点的入度之和为() 。A.nB.、Sum-1C.Sum+1D.Sum6. 已知用某种排序方法对关键字序列(51,35,93,24,13,68)进行排序时,前两趟排序的结果为(13,51,35,93,24,68)和(13,24,51,35,93,68)所采用的排序方法是()。A. 直接插入排序B. 冒泡排序C. 快速排序D. 归并排序得分得分评卷人评卷人装订线第 2页共 8 页7. 已知一棵含 50 个结点的二叉树中只有一个叶结点, 则该二叉树中度为 1 的结点个数为().A. 0B. 1C. 48D. 498. 某二叉树的前序遍历和后序遍历序列正好相同, 则该二叉树一定是 () 的二叉树。A. 空或只有根结点B. 高度等于其结点数C. 任一结点无做孩子D. 任一结点无有孩子9. DFS 算法的时间复杂度为()。A. O(n)B. O(n2)C. (n3)D. O(n+e)10. 下列排序算法中,时间复杂度不受数据初始状态影响,恒为 O(logn)的是()。A. 直接选择排序B. 冒泡排序C. 堆排序D.快速排序二、二、填空题(本大题共填空题(本大题共 1313 小题,每空小题,每空 1 1 分,共分,共 2020 分)

设矩阵A是一个对称矩阵(aij=aji,1≤i,j≤8),若每个矩阵元素占3个单元,将其上三角部分(包括对角线)按行序为主序存放在数组B中,B的首地址为1000,则矩阵元素a67的地址为(36)。

A.1093

B.1096

C.1108

D.1132


正确答案:A
解析:本题考查矩阵在数组中存储位置的计算。已知条件告诉我们,矩阵A是一个对称矩阵,现在要将其上三角部分(包括对角线)按行序为主序存放在数组B中,再由1≤i,j≤8可以知道该矩阵是8列的矩阵,那么其上三角部分从上到下每行的元素个数从8个依次递减,矩阵元素a67表示矩阵中第6行第7列的元素,这个元素在上三角部分中,是第6行中第2个元素,而这个元素的前面应该存储了31个元素(8+7+6+5+4+1=31),又由于每个矩阵元素占3个单元,所以矩阵元素a67的地址为1000+31×3=1093。


某线性表采用顺序存储结构,每个元素占4个存储单元,首地址为200,则第12个元素的存储地址为

A.248

B.247

C.246

D.244


正确答案:D
解析:设线性表牛的第一个数据元素的存储地址(指第一个字节的地址,即首地址)为ADR(a1),每个数据元素占k个字节,则线性表中第i个元素在计算机存储空间的存储地址为: ADR(ai)=ADR(a1)+(i-1)k因此,ADR(a12)=200+(12-1)×4=244。


数组A[5][6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,下标从1开始,则元素A[5][5]的地址是()。

A.1175

B.1180

C.1205

D.1120


正确答案:D


数组A[1..5,1..6]的每个元素占5个单元,将其按行优先顺序存储在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为(15)。

A.1140

B.1145

C.1120

D.1125


正确答案:A
解析:注意是按行优先顺序存储。


设二维数组a[10][20]按列优先存储在内存中,假设每个元素占3个存储单元,已知a[4][5]的存储单元地址为500,则a[8][7]的存储单元地址为【】

A.746

B.743

C.569

D.572


正确答案:D

更多 “内蒙古大学算法与数据结构试卷(三套)及参考答案” 相关考题
考题 假设以S和X分别表示入栈和出栈的操作,则初态和终态均为空栈的入栈和出栈的操作序列可以表示为仅由S和X组成的序列。称可以操作的序列为合法序列(例如,SXSX为合法序列,SXXS为非法序列)。试给出区分给定序列为合法序列或非法序列的一般准则,并证明:两个不同的合法(栈操作)序列(对同一输入序列)不可能得到相同的输出元素(注意:在此指的是元素实体,而不是值)序列。正确答案:任何前n个序列中S的个数一定大于X的个数。设两个合法序列为:T.1=S……X……S……T.2=S……X……X……假定前n个操作都相同,从第n+1个操作开始,为序列不同的起始操作点。由于前n个操作相同,故此时两个栈(不妨为栈A、B)的存储情况完全相同,假设此时栈顶元素均为a。第n+1个操作不同,不妨T1的第n+1个操作为S,T2的第n+1个操作为X。T1为入栈操作,假设将b压栈,则T1的输出顺序一定是先b后a;而T2将a退栈,则其输出顺序一定是先a后b。由于T1的输出为……ba……,而T2的输出顺序为……ab……,说明两个不同的合法栈操作序列的输出元素的序列一定不同。

考题 长度为l0的顺序表的首地址是从l023开始的,顺序表中每个元素的长度为2,在第4个元素前面插入一个元素和删除第7个元素后,顺序表的总长度还是不变。问在执行插入和删除操作前,顺序表中第5个元素在执行插入和删除操作后在顺序表中的存储地址是( )A.1028B.1029C.1031D.1033正确答案:D由于问的是原来顺序表中的第5个元素,它在插入操作后变成了第6个元素(因为插入的元素在它前面)。由于删除的第7个元素在它后面,不会影响它在顺序表中的排位。因此在执行插入和删除操作后原先顺序表中的第5个元素变成了新的顺序表中的第6个元素。再按照线性表的随机存取地址的计算公式ADD(ai)=ADD(a1)+(i-l)×k计算ADD(a6)=ADD(a1)+(6—1)×2=1023+5×2=1033,因此选项D正确。

考题 数组A[0..5,0..6]的每个元素占5个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5][5]的地址是()。A、1175B、1180C、1205D、1210正确答案:A

考题 设线性表(顺序存储方式)的每个元素占8个存储单元。第一个单元的存储地址为100,则第6个元素占用的最后一个存储单元的地址为()。A.139 B.140 C.147 D.148答案:C解析:6个元素,每个元素8个存储单元.一共需要48个存储单元。第一个单元的存储地址为100,所以第6个元素占用的最后一个存储单元的地址为100+48-1=147(-1是因为地址100是第一个存储位置)。

考题 设顺序表的第5个元素的存储地址为200,且每个元素占一个存储单元,则第14个元素的存储地址为()。A、208B、209C、210D、214正确答案:B

考题 填空题设有一上三角形矩阵A[5][5]按行压缩存储到数组B中,B[0]的地址为100,每个元素占2个单元,则A[3][2]地址为()。正确答案:108解析:暂无解析

考题 线性表(a n,a2,…’an)中,每个元素占c个存储单元,m为al的首地址,则铡帧序方式存储线性表,a9的存储地址是()正确答案:m+(n+1)*c

考题 填空题已知数组A[0..9,0..9]的每个元素占5个存储单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[6,8]的地址为()。正确答案:1000+(6*10+8)*5=1340解析:暂无解析

考题 填空题线性表(a n,a2,…’an)中,每个元素占c个存储单元,m为al的首地址,则铡帧序方式存储线性表,a9的存储地址是()正确答案:m+(n+1)*c解析:暂无解析

考题 顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的存储地址是()。正确答案:108