1、数据结构习题及答案数据结构习题集线性表一、选择题1 链表不具有的特点是_A 可随机访问任一元素 C不必事先估计存储空间B 插入删除元素时不需移动 D所需空间与表长成正比答案:A2 若一个栈的输入序列为abcde,则_是可能的输出序列A bcdae CaebcdB edbca Dcabde答案:A3 串是_A 不少于一个字母的序列 C不少于一个字符的序列B任意个字母的序列 D有限个字符的序列答案:D4 数组A0.5,0.6的每个元素占5个单元,将其按列序优先次序存储在起始地址为1000的连续内存单元中,则元素A5,5的地址为_。A 1175 C1205B 1180 D1210答案:A5 ( )是
2、线性表。A (1,2,3,) Ca,b,c,d,eB(1,3,5,7) DA,B,C答案:B6 分析下列程序段:x=0; for (j=1;j=0)。 ( )答案:12 在带头结点的单循环链表中,任一结点的后继指针均不空。答案:13 线性表采用链表方式和顺序表方式存储,执行插入和删除运算的时间复杂度都是O(n),因而两种存储方式的插入、删除运算所花费的时间相同。答案:14 在栈为空的情况下,不能作出栈操作,否则产生下溢出。答案:15 对矩阵压缩存储的方法是用三元组表存储矩阵元素。答案:16 三、填空题1 数据结构作为一门学科,它的研究内容包括_、数据的存储结构和_这三个方面。答案:数据的逻辑结
3、构,数据的运算2 数据在内存中最典型的存储方法有顺序存储、_、_和散列存储四种。答案:链接存储,索引存储3 队列具有_的特性。答案:先进先出4 在带有头结点的单链表L中,第一个元素结点的指针是_。答案:L.next5 在双向循环链表中,在指针P所指结点前插入指针S所指的结点,需执行下列语句:s.next:=p; s.prior:-p.prior; p.prior:=s; _:=s; 答案:S.prior.next或p.prior.prior.next6 设S1.maxsize为一个顺序存储的栈,变量top指示栈顶位置,栈为空的条件是_,栈为满的条件是_。答案:top=0 top=maxsize
4、 7在单链表中,删除指针P所指结点的后继结点的语句是( )。答案:P-nextP-next-next;8取出广义表A=(x,y,z),(a,b,c,d)中原子b的函数是( )。答案:head(tail(head(tail(A)9将下三角矩阵A1.8,1.8的下三角部分逐行地存储到起始地址为1000的内存单元中,已知每个元素4个单元,则A7,5的地址为( )。答案:110010在单链表中,若要在指针P所指结点之后插入由指针S所指的结点,则需执行下 列语句:S-nextP-next;_;答案:Pnext:=S;11在带有头结点的双链表L中,指针P所指结点是第一个元素结点的条件是_。答案:PPrio
5、r=L;四、名词解释1 数据项2 数据元素3 数据对象4 数据结构5 线性表6 堆栈五、应用题1用三元组表对下列稀疏矩阵作压缩存储,试画出对应的以行序为主的三元组表。 答案:1 1 20 2 4 80 3 2 15 3 5 434 4 362如下图为一堆栈,左边按序进栈,最后出栈,试写出右边所有可能的结果。ABC 答案:ABC ACB BAC BCA CBA树一、选择题1深度为k的二叉树最多有_个结点。A2k C2k-1B2k-1 D2k-1答案:C2有6个度为2的结点的二叉树共有_个叶子。A36 C12B7 D15答案:B3( )是满二叉树。A有7个结点的二叉树 C线索二叉树B哈夫曼树 D深
6、度为4共有15个结点的二叉树答案:D4 深度为4的二叉树最多有( )个叶子。A4 C12B16 D15答案:D5将一棵有100个结点的顺序二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的左孩子编号为( )。A98 C50B99 D48答案:A6某二叉树的前序序列和后序序列正好相反,则该二叉树一定是( )的二叉树。 A空或只有一个结点 C任一结点后无左后件 B高度等于其结点数 D任一结点后无右后件答案:B7n(n0)个结点的顺序二叉树的深度为( )。 A Clog2n+1 B Dlog2n答案:C8一棵满二叉树又是一棵( )。 A二叉排序树 C顺序
7、二叉树 B线索二叉树 D哈夫曼树答案:C9深度为5的二叉树最多有( )个结点。 A25 C10 B31 D32答案:B10线索二叉树中某结点D,没有右子树的主要条件是( )。 A左标志位为0 C右标志位为0 B左标志位为1 D右标志位为1答案:D11在有n个叶子结点的哈夫曼树中,其结点总数为( )。 A.不确定 C2n+1 B.2n D2n-1 答案:D12对二叉树从1开始进行连续编号,要求每个结点的编号大于其左右孩子的编号,同一个结点的左右孩子中,其左孩子的编号小于其右孩子的编号,则可采用( )次序的遍历实现编号。A先序 B. 中序 C. 后序 D. 从根开始的层次遍历答案:C 13有64个
8、结点的完全二叉树的深度为( )(根的层次为1)。 A. 8 B. 7 C. 6 D. 5答案:B 14在有n个结点的二叉链表中,值为非空的链域的个数为( )。 (1)n-1 (2)2n-1 (3)n+1 (4)2n+1答案:A二、判断题1由树转换成二叉树中,根结点的右子树总是空的。 ( )答案:2满二叉树中没有度为1的结点。 ( )答案:3二叉树中处于同一层上的结点都是兄弟结点。 ( )答案:4若一棵二叉树的任一非叶子结点的度为2,则该二叉树为满二叉树。( )答案:5二叉树只能采用二叉链表来存储。 ( )答案:6树林中至少要有一棵树。 ( )答案:7WPL最小的二叉树称为完全二叉树。 ( )答案:8 三、填空题1七个结点的二叉树最小高度为_,最大高度为_。答案:3,72在具有N个结点的顺序存储的完全二叉树中,若某结点的地址为i(2i+1N),则该结点的双亲的地址为_,左孩子的
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1