当前位置:文档之家› 最新版吉林大学内部绝密资料-数据结构总复习.pdf

最新版吉林大学内部绝密资料-数据结构总复习.pdf

吉林大学大学计算机基础题库

吉林大学计算机汇编题库 1.多媒体信息从时效上可分静态和动态媒体两大类,动态媒体包括(A) A.音频、视频和动画 B.音频、文本、图形和图象 C.文本、图形和图象 D.音频、图形和图象 2.下面(A)组设备包括输入设备、输出设备和存储设备 A.鼠标器、绘图仪、光盘 B.磁盘、鼠标器、键盘 C.CRT、CPU、ROM D.磁带、打印机、激光打印机 3.计算机字长取决于(B)总线的宽度 A.通信总线 B.控制总线 C.地址总线 D.数据总线 4.十进制数52转化成二进制数应为(A) A.110100 B.1000000 C.1111110 D.110000 5.磁盘工作时应特别主要避免(B) 日光 B.震动 C.刚暗 D.噪声 6.负数的补码是(D)各位求反,然后末位数加1 先对原码中除符号位以外的 B.不对 C.先对符号 D.先对原码 7.目前广泛用于家庭娱乐、科学计算、数据处理和办公自动化的微型计算机属于(C) A.小型机 B.单板机 C.个人计算机 D.单片机 8.要是某台计算机上连接的打印机能被其他计算机所使用,应该将其设置为(B) A.脱机 B.共享 C.暂停 D.默认

https://www.doczj.com/doc/4412824644.html,B是一种新型(C)接口,主要用于连接各种外部设备 A.芯片内 B.通用并行 C.通用串行 D.芯片间 10.操作系统的特征中,(A)是指两个或两个以上事件在同一时间间隔内发生,从微观上看 A.并发性 B.虚拟性 C.共享性 D.并行性 11.操作系统种类繁多,且各有其特点,但它们的共同特征是并发性、共享性、虚拟性和(D) 分时性 B.共存性 C.成批性 D异步性 12.下列叙述中,正确的是D A 硬盘装在主机箱内,因此硬盘属于主存 B储存在任何储存其中的信息,断电后都不会消失 C操作系统只对硬盘进行管理 D盘驱动器属于外部设备 13.计算机网络最突出的作用是D A运算速都快 B储存容量大 C运算精度高 D资源共享 14.将覆盖范围从几十千米到千千米的网络称为A A WAN B LAN C V AN D MAN 15.文本是计算机中基本的信息表示方式,包括C A 语言、歌曲和音乐 B 数字、字母和图形 C 数字、字母、符号和汉字 D 数字、字母和语言 16.用用二为表示实体及实体之间联系的数据型称的D A 网状型 B 混合型 C 称次行 D 关系型 17.多媒体信息从时效上可分静态媒体和动态明天两大类,动态媒体包括A A 音频、视频和动画

《数据结构》期末复习题答案

1.以下与数据的存储结构无关的术语是( c ) C、哈希表 2.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( B ) B、108 3.假设带头结点的单向循环链表的头指针为head,则该链表为空的判定条件是(C ) C、head–>next= =head 4.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则不可能出现的出栈序列是(D ) D、2,3,5,1,6,4 5.下列关键字序列中,构成小根堆的是(A ) A、{12,21,49,33,81,56,69,41} 6.下列数据结构中,不属于二叉树的是(A ) A、B树 7.用顺序存储的方法来存储一棵二叉树,存放在一维数组A[1..N]中,若结点A[i]有右孩子,则其右孩子是(C )。 C、A[2i+1] 8.设树T的高度为4,其中度为1、2、3、4的结点个数分别为4、2、1、1,则T中叶子数为(D ) D、8 9.有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,则应选择下 面哪个序列输入(B ) B、37,24,12,30,53,45,96 10.对下面有向图给出了四种可能的拓扑序列,其中错误的是(C ) C、5,1,6,3,4,2 11.m阶B-树中所有非终端(除根之外)结点中的关键字个数必须大于或等于( B ) B、[m/2]-1 12.散列文件也称为( C ) B 、索引文件 13.数据结构是(D ) D、相互之间存在一种或多种特定关系的数据元素的集合 14.从逻辑关系来看,数据元素的直接前驱为0个或1个的数据结构只能是(C ) C、线性结构和树型结构 15.设p为指向双向循环链表中某个结点的指针,p所指向的结点的两个链域分别用p→llink和p→rlink表示,则同样表示p

吉林大学网络教育结构力学练习题

结构力学 交卷时间:2018-10-20 16:33:07 一、单选题 1. (3分) 图示结构两杆长均为d,EI=常数。则A点的水平位移为( ) ? A. ? B. Pd3/3EI(→) ? C. Pd3/3EI(←) ? D. Pd3/6EI(→) 得分:0 知识点:结构力学作业题 展开解析 答案A 解析 2. (3分) 图示对称结构,其等效半结构为()

? A. 图(a) ? B. 图(b) ? C. 图(C) ? D. 图(D) 得分:0 知识点:结构力学作业题 展开解析 答案C 解析 3. (3分) 图示结构,求A,B两点相对线位移时,虚拟状态应为( ) ? A. 图(a) ? B. 图(b) ? C. 图(c) ? D. 图(d) 得分:0

知识点:结构力学作业题 展开解析 答案C 解析 4. (3分) 图示结构两杆长均为d,EI=常数。则A点的垂直位移为() ? A. qd3/2EI(↑) ? B. qd3/3EI(↓) ? C. qd4/4EI(↓) ? D. qd4/6EI(↓) 得分:0 知识点:结构力学作业题 展开解析 答案D 解析 5. (3分) 图示桁架,各杆 EA 为常数,除支座链杆外,零杆数为:( )

? A. 四根; ? B. 二根; ? C. 一根; ? D. 零根。 得分:0 知识点:结构力学作业题 展开解析 答案A 解析 6. (3分) 图示结构,K截面剪力为() ? A. -10kN ? B. -5kN ? C. 5kN ? D. 10kN 得分:0

知识点:结构力学作业题 展开解析 答案A 解析 7. (3分) 由于静定结构内力仅由平衡条件决定,故在温度改变作用下静定结构将()? A. 产生内力 ? B. 不产生内力 ? C. 产生内力和位移 ? D. 不产生内力和位移 得分:0 知识点:结构力学作业题 展开解析 答案B 解析 8. (3分) 对称结构在正对称荷载作用下,在对称切口处有( ) ? A. 正对称的弯矩、剪力和轴力

数据结构(c语言版)复习资料

数据结构复习资料 一、填空题 1. 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。 2. 数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上的关系有限集合。 3. 数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。 4. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。 5. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。 6.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。 7. 在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点数可以任意多个。 8. 在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。 9.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和散列。 10. 数据的运算最常用的有5种,它们分别是插入、删除、修改、查找、排序。 11. 一个算法的效率可分为时间效率和空间效率。 12. 在顺序表中插入或删除一个元素,需要平均移动表中一半元素,具体移动的元素个数与表长和该元素在表中的位置有关。 13. 线性表中结点的集合是有限的,结点间的关系是一对一的。 14. 向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动n-i+1 个元素。 15. 向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动n-i 个元素。 16. 在顺序表中访问任意一结点的时间复杂度均为O(1),因此,顺序表也称为随机存取的数据结构。 17. 顺序表中逻辑上相邻的元素的物理位置必定相邻。单链表中逻辑上相邻的元素的物理位置不一定相邻。 18.在单链表中,除了首元结点外,任一结点的存储位置由其直接前驱结点的链域的值指示。 19.在n个结点的单链表中要删除已知结点*p,需找到它的前驱结点的地址,其时间复杂度为O(n)。 20. 向量、栈和队列都是线性结构,可以在向量的任何位置插入和删除元素;对于栈只能在栈顶插入和删除元素;对于队列只能在队尾插入和队首删除元素。

鹏飞教育 自考 吉林大学 计算机 ————数据结构原理与分析

数据结构原理与分析 1. 具有n个结点的二叉树采用链接结构存储,链表中存放NULL指针域的个数为(n+1)。 2.串是(任意有限个字符构成的序列)。3.在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加(2 )。4.某二叉树的前序和后序序列正好相反,则该二叉树一定是什么二叉树(高度等于其结点数)。 5. 对于栈操作数据的原则是(后进先出)。 6.若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,首先需要移动表中数据元素的个数是(n-i )。 7. 在非空二叉树的中序遍历序列中,二叉树的根结点的左边应该(只有左子树上的所有结点 )。 8. 排序方法中,从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为( 插入排序 )。 9. 若一棵二叉树具有45个度为2的结点,6个度为1的结点,则度为0的结点个数是(46 )。 10.某二叉树的前序和后序序列正好相同,则该二叉树一定是什么样的二叉树(空或只有一个结点)。 11. 在一个有向图中,所有顶点的入度之和等于所有边数( 4 )倍。12.串是(任意有限个字符构成的序列)。 13.对于栈操作数据的原则是(后进先出) 14. 设输入序列为A,B,C,D,借助一个栈不可以得到的输出序列是(D,A,B,C )。 15. 结点前序为xyz的不同二叉树,所具有的不同形态为(5 )。 16. 一维数组A采用顺序存储结构,每个元素占用6个字节,第6个元素的起始地址为100,则该数组的首地址是(70)。 17.在一棵高度为h(假定树根结点的层号为0)的完全二叉树中,所含结点个数不小于(2h )。 18. 在一个无向图中,所有顶点的度数之和等于所有边数( 2 )倍。 19.因此在初始为空的队列中插入元素a,b,c,d以后,紧接着作了两次删除操作,此时的队尾元素是 (d ). 20. 一般情况下,将递归算法转换成等价的非递归算法应该设置(堆栈)。21. 对于一棵满二叉树,m个树叶,n 个结点,深度为h,则(n=2h+1-1 )。 22. 线性表的长度是指(表中的元素个数)。 23. 用邻接表表示图进行深度优先遍历时,通常用来实现算法的辅助结构是(栈 )。 24. 堆的形状是一棵(完全二叉树 )。 25. 设abcdef以所给的次序进栈,若在进栈操作时,允许退栈操作,则下面得不到的序列为( cabdef)。 26. 若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,i的合法值应该 是( C. 1≤i≤n)。 27.在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加(2 )。28. 若某线性表中最常用的操作是取第i个元素和删除最后一个元素,则采用什么存储方 式最节省时间(顺序表)。 29.一组记录的关键字为{45, 80, 55, 40, 42, 85},则利用堆排序的方法建立的初始堆为(85, 80, 55, 40, 42, 45 )。 30. 如果T2是由有序树T转换而来的二叉树,那么T中结点的先根序列就是T2中结点的(先根序列)。 31. 对于一棵满二叉树,m个树叶,n 个结点,深度为h,则(n=2h+1-1 )。32.具有n个顶点的有向图最多可包含的有向边的条数是(n(n-1) )。 33.设有6000个无序的元素,希望用最快的速度挑选出其中前5个最大的元素,最好选用(堆排序)法。 34.任何一个无向连通图的最小生成树(有一棵或多棵 )。 35. 排序方法中,从未排序序列中挑选元素,将其放入已排序序列的一端的方法,称为(选择排序)。 36. 对有14个数据元素的有序表R[14]进行折半搜索,搜索到R[3]的关键码等于给定值,此时元素比较顺序依次为(R[6],R[2],R[4],R[3] )。 37. 因此在初始为空的队列中插入元素a,b,c,d以后,紧接着作了两次删除操作,此时的队尾元素是 (d )。 38.深度为h且有多少个结点的二叉树称为满二叉树(2h+1-1 )。39.某二叉树的前序和后序序列正好相反,则该二叉树一定是的二叉树为(高度等于其结点数)。 40. 带头结点的单链表head为空的判断条件是(head->next==NULL)。41.栈和队列的主要区别在于(插入删 除运算的限定不一样) 42. 设高度为h的二叉树上只有度为0 和度为2的结点,则此类二叉树中所包 含的结点数至少为(2h-1 )。 43.在一个单链表中,若删除(*p)结点 的后继结点,则执行 (p->next=p->next->next)。 44.在一棵具有n个结点的二叉树中, 所有结点的空子树个数等于 (n+1 ) 45.若一棵二叉树有11个度为2的结 点,则该二叉树的叶结点的个数是 (12 )。 46. 对有n个记录的表按记录键值有序 建立二叉查找树,在这种情况下,其平 均查找长度的量级为(O(n) )。 47. 有向图中,以顶点v为终点的边的 数目,称为顶点v的(入度)。 48. 链栈和顺序栈相比,有一个较明显 的优点是(通常不会出现栈满的情况)。 49. 若频繁地对线性表进行插入和删 除操作,该线性表应该采用的存储结构 是(链式)。 50. 设一个栈的输入序列是 1,2,3, 4,5,则下列序列中,是栈的合法输出 序列的是(3 2 1 5 4)。 51.设森林F中有三棵树,第一、第二 和第三棵的结点个数分别为m1,m2和 m3,则森林F对应的二叉树根结点上的 右子树上结点个数是 ( m2+m3 )。 52. 有数据{53,30,37,12,45,24, 96},从空二叉树开始逐个插入数据来 形成二叉查找树,若希望高度最小,则 应选择下面输入序列是 ( 37,24,12,30,53,45,96)。 53.若要在O(1)的时间复杂度上实现 两个循环链表头尾相接,则应对两个循 环链表各设置一个指针,分别指向(各 自的尾结点 )。 54. 二叉树的第I层上最多含有结点数 为(2I )。 55.设高度为h的二叉树上只有度为0 和度为2的结点,则此类二叉树中所包 含的结点数至少为(2h-1 )。 56.如果T2是由有序树T转换而来的二 叉树,那么T中结点的先根序列就是T2 中结点的(先根序列)。 57. 用分划交换排序方法对包含有n个 关键的序列进行排序,最坏情况下执 行的时间杂度为(O(n2))。 58. 有n个叶子的哈夫曼树的结点总数 为(2n-1 )。 59. 稀疏矩阵一般采用的压缩存储方 法为(三元组表)。 60. 若二叉树中度为2的结点有15个, 度为1 的结点有10个,则叶子结点的 个数为(16 )。 61. 若某完全二叉树的深度为h,则该 完全二叉树中具有的结点数至少是(2h -1 )。 62. 任何一棵二叉树的叶结点在其先 根、中根、后根遍历序列中的相对位置 (肯定不发生变化)。 63.初始序列已经按键值有序时,用直 接插入算法进行排序,需要比较的次数 为( n-1)。 64. 对有n个记录的有序表采用二分查 找,其平均查找长度的量级为 (O(log2n))。 65用冒泡排序法对序列 {18,16,14,12,10,8}从小到大进行排 序,需要进行的比较次数是(15 )。 66在一个有向图中,所有顶点的出度之 和等于所有边数的倍数是( 1 )。 67.有n个顶点的图采用邻接矩阵表示, 则该矩阵的大小为(n*n )。 68.6个顶点的无向图成为一个连通图 至少应有边的条数是(5 )。 69. 对有14个数据元素的有序表R[14] 进行折半搜索,搜索到R[3]的关键码等 于给定值,此时元素比较顺序依次为 (R[6],R[4],R[2],R[3])。 70. 串是(任意有限个字符构成的序 列)。 71.个无向图中,所有顶点的度数之和 等于所有边数(1 )倍。 72.单链表表示的链式队列的队头在链 表的什么位置(链头)。 73. 一组记录的关键字为{45, 80, 55, 40, 42, 85},则利用堆排序的方法建 立的初始堆为(85, 80, 55, 40, 42, 45 )。 74. 对于一棵满二叉树,m个树叶,n 个结点,深度为h,则(n=2h+1-1) 75.某二叉树的前序和后序序列正好相 同,则该二叉树一定是什么样的二叉树 (空或只有一个结点)。 76.在一棵具有n个结点的二叉树中, 所有结点的空子树个数等于(n+1 )。 77. 若长度为n的线性表采用顺序存储 结构,在表的第i个位置插入一个数据 元素,需要移动表中元素的个数是 (n-i+1)。 78. 树中所有结点的度等于所有结点 数加(-1 )。 79.设二叉树根结点的层次为0,一棵高 度为h 的满二叉树中的结点个数是 (2h+1-1 )。 80. 将一棵有50个结点的完全二叉树 按层编号,则对编号为25的结点x,该 结点(有左孩子,无右孩子)。 81. 设有数组A[i,j],数组的每个元素 长度为3字节,i的值为1 到8 ,j的 值为1 到10,数组从内存首地址BA开 始顺序存放,当用以列为主存放时,元 素A[5,8]的存储首地址为 ( BA+180 )。 82.在一个具有n个顶点的完全无向图 的边数为 (n(n-1)/2 )。 83.设森林F中有三棵树,第一、第二 和第三棵的结点个数分别为m1,m2和 m3,则森林F对应的二叉树根结点上的 右子树上结点个数是 (m2+m3 )。 84.对于键值序列 {72,73,71,23,94,16,5,68,76,103}用 筛选法建堆,开始结点的键值必须为 (94 )。 85. 在图形结构中,每个结点的前驱结 点数和后续结点数可以有(任意多 个 )。 86.对有n个记录的有序表采用二分查 找,其平均查找长度的量级为 (O(log2n) )。 87. 用孩子兄弟链表表示一棵树,若要 找到结点x的第5个孩子,只要先找到 x的第一个孩子,然后(从兄弟域指针连 续扫描4个结点即可)。 88.有一个有序表为{1,3,9,12,32, 41,45,62,75,77,82,95,100}, 当二分查找值为82的结点时,查找成 功的比较次数是(4 )。. 89. 当初始序列已经按键值有序时,用 直接插入算法进行排序,需要比较的次 数为(n-1 )。 90.深度为h的满二叉树具有的结点个 数为(2h+1-1 )。 91. 二维数组A[5][6]的每个元素占5 个单元,将其按行优先顺序存储在起始 地址为3000的连续的内存单元中,则 元素A[4][5]的存储地址为(3145)。 92.一个具有n个顶点e条边的无向图 中,采用邻接表表示,则所有顶点的邻 接表的结点总数为(2e )。 93. 一个具有n个顶点的图采用邻接矩 阵表示,则该矩阵的大小为(n*n)。 94. 一个具有n个顶点e条边的无向图 中,采用邻接表表示,则所有顶点的邻 接表的结点总数为( 2e )。 95. 若要在O(1)的时间复杂度上实现 两个循环链表头尾相接,则应对两个循 环链表各设置一个指针,分别指向 ( 各自的尾结点)。 96.在一棵高度为h(假定树根结点的层 号为0)的完全二叉树中,所含结点个数 不小于(2h )。 97. 若待排序对象序列在排序前已按 其排序码递增顺序排序,则采用比较次 数最少的方法是(直接插入排序)。 98. 有n个叶子的哈夫曼树的结点总数 为(2n-1 )。 99.二分查找法要求查找表中各元素的 键值必须是(递增或递减 )。 100. 在对n个元素进行冒泡排序的过 程中,最好情况下的时间复杂性为 ( ()n )。 101.链栈和顺序栈相比,有一个较明显 的优点是(通常不会出现栈满的情 况 )。 102. 将长度为m的单链表连接在长度 为n的单链表之后的算法的时间复杂度 为(O(n) )。 103.若待排序对象序列在排序前已按 其排序码递增顺序排序,则采用(直接 插入排序)方法比较次数最少。 104. 若字符串“1234567”采用链式 存储,假设每个字符占用1个字节,每 个指针占用2个字节,则该字符串的存 储密度为(33.3﹪)。 105.用分划交换排序方法对包含有n个 关键的序列进行排序,最坏情况下执 行的时间杂度为(O(n2) )。 106. 若在一棵非空树中,某结点A有3 个兄弟结点(包括A自身),B是A的双 亲结点,则B的度为(3)。 107. 单链表中,增加头结点的目的是 为了(方便运算的实现)。 108. 深度为h的满二叉树所具有的结 点个数是(2h+1-1 )。 109.按照二叉树的定义,具有3个结点 的二叉树有多少种(5 )。 110. 设长度为n的链队列用单循环链 表表示,若只设头指针,则入队操作的 时间复杂度为(O(n) )。 111.树中所有结点的度等于所有结点 数加(-1 )。 112. 树中所有结点的度等于所有结点 数加( -1 ) 113. 设有三个元素X,Y,Z顺序进栈 (进的过程中允许出栈),下列得不到 的出栈排列是(ZXY )。 114. 用邻接表表示图进行深度优先遍 历时,通常采用的辅助存储结构是 (栈)。 115. 对有18个元素的有序表作二分 (折半)查找,则查找A 3的比较序列 的下标为(9、4、2、3)。 116. 在含n个顶点e条边的无向图的 邻接矩阵中,零元素的个数为 ( n2-2e)。 117. 树形结构的特点是:一个结点可 以有 ( 多个直接后继)。 118. 使具有30个顶点的无向图成为一 个连通图至少应有边的条数是(29)。 119. 按照二叉树的定义,具有3个结点 的二叉树具有的种类为(5 )。 120. 使具有9个顶点的无向图成为一 个连通图至少应有边的条数是(8 )。 121. 在顺序表(n足够大)中进行顺序 查找,其查找不成功的平均长度是 (n+1 )。 122. 设树T的度为4,其中度为1,2, 3和4的结点个数分别为4,2,1,1 则 T中的叶子数为( 8 )。 123. 栈的插入和删除操作进行的位置 在(栈顶)。 124. 某二叉树的前序和后序序列正好 相同,则该二叉树一定是的二叉树为 (空或只有一个结点)。 125. 链栈和顺序栈相比,有一个较明 显的优点是(通常不会出现栈满的情 况)。 126. 对稀疏矩阵进行压缩存储是为了 (节省存储空间)。 127. 结点前序为xyz的不同二叉树, 所具有的不同形态为(5 )。 128. 若一棵二叉树具有20个度为2的 结点,6个度为1的结点,则度为0的 结点个数是(21 )。 129. 一棵线索二叉树的线索个数比链 接个数多( 2 )个。 1. 若一棵二叉树有10个叶结点,则该 二叉树中度为2的结点个数为9。 2.在有序表(12,24,36,48,60,72,84) 中二分查找关键字72时所需进行的关 键字比较次数为2。 3.对于一棵二叉树,设叶子结点数为n0, 次数为2的结点数为n2,则n0和n2的 关系是n0= n2+1。 4. 在循环链表中,从任何一结点出发 都能访问到表中的所有结点。 5. 普里姆(Prim)算法适用于边稠密 图。 6.深度为h且有2k-1个结点的二叉树 称为满二叉树。(设根结点处在第1层)。 7.图的深度优先搜索方法类似于二叉 树的先序遍历。 8.哈夫曼树是带权路径长度最小的二 叉树。 9. 二叉树的存储结构有顺序存储结构 和链式存储结构。 10. 哈夫曼树是带权路径长度最小的 二叉树。 11.一般树的存储结构有双亲表示法、 孩子兄弟表示法和孩子链表表示法。 12. 将数据元素 2,4,6,8,10,12,14,16,18,20依次存于 一个一维数组中,然后采用折半查找元 素12,被比较过的数组元素的下标依次 为5,7,6 。。 13. 图的深度优先遍历序列不是唯一 的。 14. 下面程序段的时间复杂度是 O (mn)。 for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) a[i][j]=0; 16. 图的遍历是指从图中某一顶点出 发访问图中全部顶点且使每一顶点仅 被访问一次。 17. 在一个图中,所有顶点的度数之和 等于所有边的数目的2倍。 18. 由一棵二叉树的后序序列和中序 序列可唯一确定这棵二叉树。 19. 在有序表(12,24,36,48,60,72,84) 中二分查找关键字72时所需进行的关 键字比较次数为2。 20. 若二叉树的一个叶子结点是某子 树的中根遍历序列中的第一个结点,则 它必是该子树的后跟遍历中的第一个 结点。 21.在直接插入排序、直接选择排序、 分划交换排序、堆排序中稳定的排序方 法有直接插入排序。 22.具有100个结点的完全二叉树的叶 子结点数为50。 23.普里姆(Prim)算法适用于边稠密 图。 24. 在n个结点的顺序表中插入一个结 点需平均移动 n/2 个结点。 25.将一棵树转换成一棵二叉树后,二 叉树根结点没有右子树。 26循环队列的引入,目的是为了克服 假溢出。 27.若连通网络上各边的权值均不相 同,则该图的最小生成树有1棵。 28.在有序表(12,24,36,48,60,72,84) 中二分查找关键字72时所需进行的关 键字比较次数为2 。 29.栈和队列的共同特点是插入和删除 均在端点处进行。 30. 二叉树的遍历方式有三种:先序遍 历、中序遍历、后序遍历。 31. 若连通图的顶点个数为n,则该图 的生成树的边数为n-1。 32.图的存储结构最常用的有邻接矩阵 和邻接表。 33. 若一棵二叉树有15个叶结点,则 该二叉树中度为2的结的点个数为14。 34.队列中允许进行插入的一端称为队 尾。 35.拓扑排序输出的顶点数小于有向图 的顶点数,则该图一定存在环。 36.在有序表(15,23,24,45,48,62,85) 中二分查找关键词23时所需进行的关 键词比较次数为2。 37. 则高度为k的二叉树具有的结点数 目,最少为k,最多为2k-1。 38. 若连通网络上各边的权值均不相 同,则该图的最小生成树有1棵。 39. 一个栈的输入序列是:1,2,3则 不可能的栈输出序列是3 1 2。 40. 设有一个顺序栈S,元素S1,S2, S3,S4,S5,S6依次进栈,如果6个元 素的出栈顺序为S2,S3,S4,S6,S5, S1,则顺序栈的容量至少应为 3 。 41. 对于一棵二叉树,设叶子结点数为 n0,次数为2的结点数为n2,则n0和n2 的关系是 n0= n2+1 。 42. 设某二叉树的后序遍历序列为 ABKCBPM,则可知该二叉树的根为 M 。 43. 数据结构的三个方面:数据的 逻辑结构、物理结构、运算。 44. 每个结点只有一个链接域的 链表叫做单链表。 45. 设无向图G的顶点数为n,则要使 G连通最少有 n-1条边。 46. 组成串的数据元素只能是字符。 47.图的存储结构最常用的有邻接表 和邻接矩阵。 48. 由一棵二叉树的后序序列和中序 序列可唯一确定这棵二叉树。 49. 队列中允许进行插入的一端称为 队尾。 1.对于一个队列,如果输入项序列由 1,2,3,4所组成,试给出全部可能的输 出序列。 答:1,2,3,4。 2. 已知一棵二叉树的中序和前序序列 如下,求该二叉树的后序序列。 中序序列:c,b,d,e,a,g,i,h, j,f 前序序列:a,b,c,d,e,f,g,h, i,j 答:该二叉树的后序序列为: c,e,d,b,i,j,h,g,f,a 3. 为什么说树是一种非线性结构? 答:树中的每个结点除了根结点外,其 余每个结点有一个直接前驱,但有多个 直接后继,所以说树是一种非线性结 构。 4.将算术表达式a+b*(c+d/e)转为后 缀表达式。 答: B.abcde/+*+ 5. 找出所有这样的二叉树形,其结点 在先根次序遍历和中根次序遍历下的 排列是一样的。 答:为空树,或为任一结点至多只有 右子树的二叉树。 8.有 n 个顶点的无向连通图至少有 多少条边?有 n 个顶点的有向连通 图至少有多少条边? 答:有 n 个顶点的无向连通图至少有 n-1条边,有 n 个顶点的有向连通图 至少有n条边。 9.下面列举的是常用的排序方法:直 接插入排序,起泡排序,快速排序,直 接选择排序,堆排序,归并排序。试问, 哪些排序方法是稳定的? 答:起泡排序, 直接插入排序,归并排 序是稳定的。 10. 完全二叉树用什么数据结构实现 最合适,为什么? 答:完全二叉树用一维数组实现最合 适。因为完全二叉树保存在一维数组中 时,数组内没有空洞,不存在空间浪费 问题;另外,顺序存储方式下,父子结 点之间的关系可用公式描述,即已知父 (或子)结点寻找子(或父)结点只需 计算一个公式,访问结点方便。但采用 链表存储时就存在空间浪费问题,因为 每个结点要另外保存两个链接域,并且 寻找结点也不容易。 11.线性表有两种存储结构:一是顺序 表,二是链表。试问:如果有 n个线性 表同时并存,并且在处理过程中各表的 长度会动态变化,线性表的总数也会自 动地改变。在此情况下,应选用哪种存 储结构?为什么? 答:选链式存储结构。它可动态申请内 存空间,不受表长度(即表中元素个数) 的影响,插入、删除时间复杂度为O(1)。 12.试述顺序存储和链式存储的区别及 各自的优缺点。 答:数组占用连续的内存空间,链表不 要求结点的空间连续。 1)插入与删除操作:由于数组在插入 与删除数据时需移动大量的数据元素, 而链表只需要改变一些指针的链接,因 此,链表比数组易于实现数据的插入和 删除操作。 2)内存空间的占用情况:因链表多了 一个指针域,故较浪费空间,因此,在 空间占用方面,数组优于链表。 3)数据的存取操作:访问链表中的结 点必须从表头开始,是顺序的存取方 式,而数组元素的访问是通过数组下标 来实现的,是随机存取方式,因此,在 数据存取方面,数组优于链表。 数据的合并与分离:链表优于数组,因 为只需要改变指针的指向 13. 将表达式 ((a+b)-c*(d+e)-f)*(g+h)改写成后缀 表达式。 答:后缀表达式为:ab+cde+*-f-gh+* 19.写出中缀表达式A-(B+C/D)*E的后 缀形式。 答:中缀表达式A-(B+C/D)*E的后缀形 式是:ABCD/+E*-。 20.为什么用二叉树表示一般树? 答:树的最直观表示是为树中结点设置 指向子结点的指针域,对k叉树而言, 每个结点除data域外,还有k个链接 域。这样,对一个有n个结点的k叉树 来说,共有n*k个指针域,其中n-1个 不空,另外n(k-1)+1个指针域为空, 因此,空链接域的比例约为(k-1)/k , 于是导致大量的空间浪费。然而,如果 采用二叉树表示一棵n个结点的树,则 树中共有2n个链接域,其中未用到的 有n+1个,占所有指针域的比例约为 1/2,空间浪费少很多。 另外,因为任何树型结构都可 以转换成二叉树,因此,通常用二叉树 表示树型结构。 21.已知数据序列为 12,5,9,20,6,31,24,对该数据序列进 行排序,试写出冒泡排序每趟的结果。 答:初始键值序列12 5 9 20 6 31 24 第一趟排序 [5 9 12 6 20 24] 31 第二趟排序 [5 9 6 12 20] 24 31 第三趟排序 [5 9 6 12] 20 24 31 第四趟排序 5 6 9 12 20 24 31 22.试找出前序序列和中序序列相同的 所有二叉树。 解答:空树或缺左子树的单支树。 23.完全二叉树用什么数据结构实现最 合适,为什么? 答:完全二叉树用一维数组实现最合 适。因为完全二叉树保存在一维数组中 时,数组内没有空洞,不存在空间浪费 问题;另外,顺序存储方式下,父子结 点之间的关系可用公式描述,即已知父 (或子)结点寻找子(或父)结点只需 计算一个公式,访问结点方便。但采用 链表存储时就存在空间浪费问题,因为 每个结点要另外保存两个链接域,并且 寻找结点也不容易。 26.我们已经知道,树的先根序列与其 对应的二叉树的先根序列相同,树的后 根序列与其对应的二叉树的中根序列 相同。那么利用树的先根遍历次序与后 根遍历次序,能否唯一确定一棵树?请 说明理由。 答:能。因为树的先根序列与其对应的 二叉树的先根序列相同,树的后根序列 与其对应的二叉树的中根序列相同,而 二叉树的先根序列与二叉树的中根序 列能唯一确定一棵二叉树,所以利用树 的先根遍历次序与后根遍历次序,能唯 一确定一棵树。 28.已知一棵二叉树的中序和前序序列 如下,求该二叉树的后序序列。 中序序列:c,b,d,e,a,g,i,h, j,f 前序序列:a,b,c,d,e,f,g,h, i,j 答:该二叉树的后序序列为: c,e,d,b,i,j,h,g,f,a 29.对半查找是否适合于以链接结构 组织的表? 答:对半查找不适合于以链接结构组织 的表。。 30. 请指出中序遍历二叉查找树的结 点可以得到什么样的结点序列。 答:中序遍历二叉查找树的结点就可以 得到从小到大排序的结点序列。 31.已知数据序列为 12,5,9,20,6,31,24,对该数据序列进 行排序,试写出归并排序每趟的结果。 解答: 初始键值序列12 5 9 20 6 31 24 第一趟排序 [5 12] [9 20] [6 31] [24] 第二趟排序 [5 9 12 20] [6 24 31] 第三趟排序 5 6 9 12 20 24 31() 37.一组记录的关键字为(52, 56, 26, 12, 69, 85, 33, 48, 70),给出快速 排序的过程。 解答:解:52, 56, 26, 12, 69, 85, 33, 48, 70 第一趟排序 33, 48, 26, 12, 52, 85, 69, 56, 70 第二趟排序 26, 12, 33, 48, 52, 69, 56, 70, 85 第三趟排序 12, 26, 33, 48, 52, 56, 70, 69, 85 第四趟排序 12, 26, 33, 48, 52, 56, 70, 69, 85 第五趟排序 12, 26, 33, 48, 52, 56, 70, 69, 85 38.下面列举的是常用的排序方法:直 接插入排序,起泡排序,快速排序,直 1

数据结构复习资料,java数据结构期末考试

第二章算法分析 1.算法分析是计算机科学的基础 2.增长函数表示问题(n)大小与我们希望最优化的值之间的关系。该函数表示了该算法的时间复杂度或空间复杂度。增长函数表示与该问题大小相对应的时间或空间的使用 3.渐进复杂度:随着n的增加时增长函数的一般性质,这一特性基于该表达式的主项,即n 增加时表达式中增长最快的那一项。 4.渐进复杂度称为算法的阶次,算法的阶次是忽略该算法的增长函数中的常量和其他次要项,只保留主项而得出来的。算法的阶次为增长函数提供了一个上界。 5.渐进复杂度:增长函数的界限,由增长函数的主项确定的。渐进复杂度类似的函数,归为相同类型的函数。 6.只有可运行的语句才会增加时间复杂度。 7. O() 或者大O记法:与问题大小无关、执行时间恒定的增长函数称为具有O(1)的复杂度。 增长函数阶次 t(n)=17 O(1) t(n)=3log n O(log n) t(n)=20n-4 O(n) t(n)=12n log n + 100n O(n log n) t(n)=3n2+ 5n - 2 O(n2) t(n)=8n3+ 3n2O(n3) t(n)=2n+ 18n2+3n O(2n) 8.所有具有相同阶次的算法,从运行效率的角度来说都是等价的。 9.如果算法的运行效率低,从长远来说,使用更快的处理器也无济于事。 10.要分析循环运行,首先要确定该循环体的阶次n,然后用该循环要运行的次数乘以它。(n 表示的是问题的大小) 11.分析嵌套循环的复杂度时,必须将内层和外层循环都考虑进来。 12.方法调用的复杂度分析: 如:public void printsum(int count){ int sum = 0 ; for (int I = 1 ; I < count ; I++) sum += I ; System.out.println(sun); } printsum方法的复杂度为O(n),计算调用该方法的初始循环的时间复杂度,只需把printsum方法的复杂度乘以该循环运行的次数即可。所以调用上面实现的printsum方法的复 杂度为O(n2)。 13指数函数增长> 幂函数增长> 对数函数增长

数据结构选择题集锦

单项选择 ( B ) 1. 通常所说的主机是指∶ A) CPU B) CPU和内存C) CPU、内存与外存D) CPU、内存与硬盘 ( C )2. 在计算机内部,一切信息的存取、处理和传送的形式是∶ A) ACSII码B) BCD码C)二进制D)十六进制 ( D )3. 软件与程序的区别是∶ A)程序价格便宜、软件价格昂贵; B)程序是用户自己编写的,而软件是由厂家提供的; C) 程序是用高级语言编写的,而软件是由机器语言编写的; D) 软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序只是软件的一部分。 ( C )4. 所谓“裸机”是指∶ A) 单片机B)单板机C) 不装备任何软件的计算机D) 只装备操作系统的计算机 ( D )5. 应用软件是指∶ A)所有能够使用的软件B) 能被各应用单位共同使用的某种软件 C)所有微机上都应使用的基本软件D) 专门为某一应用目的而编制的软件 (A)6. C语言中的常量可分为整型常量、实型常量、字符型常量及(枚举)四种。 (A)符号常量(B)长整型常量(C)逻辑常量(D)二进制整数 ( C )7. 编译程序的功能是∶ A)发现源程序中的语法错误B)改正源程序中的语法错误 C)将源程序编译成目标程序D)将某一高级语言程序翻译成另一种高级语言程序 (A)8. 系统软件中最重要的是∶ A) 操作系统B) 语言处理系统C) 工具软件D) 数据库管理系统 ( C )9. 可移植性最好的计算机语言是∶ A) 机器语言B)汇编语言C) 高级语言D) 自然语言

( B )10. 非线性结构是数据元素之间存在一种: A)一对多关系B)多对多关系C)多对一关系D)一对一关系 ( C )11. 数据结构中,与所使用的计算机无关的是数据的结构; A) 存储B) 物理C) 逻辑D) 物理和存储 ( C )12. 算法分析的目的是: A) 找出数据结构的合理性B) 研究算法中的输入和输出的关系 C) 分析算法的效率以求改进D) 分析算法的易懂性和文档性 (A)13. 算法分析的两个主要方面是: A) 空间复杂性和时间复杂性B) 正确性和简明性 C) 可读性和文档性D) 数据复杂性和程序复杂性 ( C )14. 计算机算法指的是: A) 计算方法B) 排序方法C) 解决问题的有限运算序列D) 调度方法 ( B )15. 计算机算法必须具备输入、输出和等5个特性。 A) 可行性、可移植性和可扩充性B) 可行性、确定性和有穷性 C) 确定性、有穷性和稳定性D) 易读性、稳定性和安全性 ( C )16.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为: (A)存储结构(B)逻辑结构(C)顺序存储结构(D)链式存储结构 ( B )17.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是 (A)110 (B)108 (C)100 (D)120 (A)18. 在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:(A)访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) (B)在第i个结点后插入一个新结点(1≤i≤n) (C)删除第i个结点(1≤i≤n) (D)将n个结点从小到大排序 ( B )19. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动个元素 (A)8 (B)63.5 (C)63 (D)7 (A)20. 链接存储的存储结构所占存储空间: (A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针

数据结构期末复习资料[1]

第一章 1、数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。 数据结构(Data Structure):相互之间存在一种或多种特定关系的数据元素的集合。 2、数据结构的形式定义:二元组Data_Structure=(D,S) 其中,D 是数据元素的有限集,S 是D 上关系的有限集。 3、数据元素之间关系的映像:1、顺序映像(顺序存储结构):以相对的存储位置表示后继关系。 2、非顺序映像(链式存储结构):借助指针元素存储地址的指针表示数据元素之间的逻辑关系。 任何一个算法的设计取决于数据(逻辑)结构,其实现取决于物理结构。 4、 算法的定义:对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。 特性:有穷性、确定性、可行性、输入、输出 5、 算法的评价——衡量算法优劣的标准 正确性(correctness):满足具体问题的需求 可读性(readability):易读、易理解 健壮性(robustness):当输入数据非法时,算法能够做出反应或进行处理 效率与低存储量:执行时间短、存储空间小 作业的答案:试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。 第二章 1、线性表是一种最简单的线性结构。 线性结构 是一个数据元素的有序(次序)关系 特点:存在唯一的一个“第一个”的数据元素;存在唯一的一个“最后一个”的数据元素;除第一个数据元素外,均有唯一的前驱;除最后一个数据元素外,均有唯一的后继 2、线性表类型的实现——顺序映像 定义:用一组地址连续的存储单元依次存放线性表中的数据元素。 ? 以“存储位置相邻”表示有序对,则有:LOC (ai ) = LOC (ai -1) + l 其中l 是一个数据元素所占存储 量 LOC (ai ) = LOC (a 1) + (i -1)×l ? 特点:1、实现逻辑上相邻—物理地址相邻2、实现随机存取 3、若假定在线性表中任何一个位置上进行插入的概率都是相等的,则移动元素的期望值为: ∑+=+-+=1 1 )1(11n i is i n n E 2 n = 若假定在线性表中任何一个位置上进行删除的概率都是相等的,则移动元素的期望值为: ∑=-=n i dl i n n E 1)(12 1-=n 4、 线性表类型的实现——链式映像 线性链表 特点:用一组地址任意的存储单元存放线性表中的数据元素。 5、在单链表中第 i 个结点之前进行插入的基本操作为:找到线性表中第i-1个结点,然后修改其指向后继的指针。 s = (LinkList) malloc ( sizeof (LNode)); // 生成新结点 s->data = e; s->next = p->next; p->next = s; // 插入 在单链表中删除第 i 个结点的基本操作为:找到线性表中第i-1个结点,修改其指向后继的指针。 q = p->next; p->next = q->next; e = q->data; free(q); 5、 循环链表:最后一个结点的指针域的指针又指回第一个结点的链表。 和单链表的差别仅在于: 判别链表中最后一个结点的条件不再是“后继是否为空”,而是“后继是否为头结点”。 6、 双向链表的操作特点:1、“查询” 和单链表相同;2、“插入” 和“删除”时需要同时修改两个方向上的指针 “插入”:s->next = p->next; p->next = s; s->next->prior = s; s->prior = p;(s 是插入的结点) 删除:p->next = p->next->next; p->next->prior = p;(要删除的是p 的下一个结点) 课后作业 P13: 2.3、2.5 P15: 2.8、2.9(2) 第三章

相关主题
文本预览
相关文档 最新文档