数据构造C语言版章节练习题.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据构造C语言版章节练习题.docx》由会员分享,可在线阅读,更多相关《数据构造C语言版章节练习题.docx(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据构造C语言版章节练习题数据构造章节练习题第一章绪论一、单项选择题1.一个数组元素ai与_的表示等价。A、*(a+i)B、a+iC、*a+iD、&a+i2.下面程序段的时间复杂度为_。for(inti=0;ifor(intj=1;jnext=HL;B、p-next=HL;HL=p;C、p-next=HL;p=HL;D、p-next=HL-next;HL-next=p;5在一个单链表HL中,若要在指针q所指的结点的后面插入一个由指针p所指的结点,则执行。A、q-next=p-next;p-next=q;B、p-next=q-next;q=p;C、q-next=p-next;p-next=q;D
2、、p-next=q-next;q-next=p;6在一个单链表HL中,若要删除由指针q所指向结点的后继结点,则执行。A、p=q-next;p-next=q-next;B、p=q-next;q-next=p;C、p=q-next;q-next=p-next;D、q-next=q-next-next;q-next=q;二、填空题1在线性表的单链式存储构造中,每个结点包含有两个域,一个叫_域,另一个叫_域。2在下面数组a中链式存储着一个线性表,表头指针为a0.next,则该线性表为_。3对于一个长度为n的顺序存储的线性表,在表头插入元素的时间复杂度为_,在表尾插入元素的时间复杂度为_。4对于一个长度
3、为n的单链式存储的线性表,在表头插入元素的时间复杂度为_,在表尾插入元素的时间复杂度为_。5在线性表的顺序存储中,若一个元素的下标为i,则它的前驱元素的下标为_,后继元素的下标为_。6在线性表的单链式存储中,若一个元素所在结点的地址为p,则其后继结点的地址为_,若假定p为一个数组a中的下标,则其后继结点的下标为_。7在循环单链表中,最后一个结点的指针指向_结点。8在双向链表中每个结点包含有两个指针域,一个指向其_结点,另一个指向其_结点。9在循环双向链表中表头结点的左指针域指向_结点,最后一个结点的右指针域指向_结点。10在以HL为表头指针的带表头结点的单链表和循环单链表中,链表为空的条件分别
4、为_和_。三、应用题1在下面的每个程序段中,假定线性表La的类型为List,元素类型ElemType为int,并假定每个程序段是连续执行的,试写出每个程序段执行后所得到的线性表La。(1)InitList(La);inta=48,26,57,34,62,79;for(i=0;i5当利用大小为N的一维数组顺序存储一个循环队列时,该队列的最大长度为。A、N-2B、N-1C、ND、N+16从一个循环顺序队列删除元素时,首先需要。A、前移一位队首指针B、后移一位队首指针C、取出队首指针所指位置上的元素D、取出队尾指针所指位置上的元素7假定一个循环顺序队列的队首和队尾指针分别为f和r,则判定队空的条件是
5、。A、f+1=rB、r+1=fC、f=0D、f=r8假定一个链队的队首和队尾指针分别为front和rear,则判定队空的条件是。A、front=rearB、front!=NULLC、rear!=NULLD、front=NULL二、填空题1队列的插入操作在_进行,删除操作在_进行。2栈又称为_表,队列又称为_表。3向一个顺序栈插入一个元素时,首先把待插入元素_到这个位置上然后,使_后移一个位置。4从一个栈中删除元素时,首先前移一位_,然后再取出_。5在一个循环顺序队列Q中,判定队空的条件为_,判定队满的条件为_。6在一个顺序栈中,若栈顶指针等于_,则为空栈;若栈顶指针等于_,则为满栈。7在一个链
6、栈中,若栈顶指针等于NULL,则为_;在一个链队中,若队首指针与队尾指针的值一样,则表示该队列为_。8向一个链栈插入一个新结点时,首先把新结点的存储位置赋给_,然后把栈顶指针指向_。9从一个链栈中删除一个结点时,需要把栈顶结点_的值赋给_。10向一个顺序队列插入元素时,需要首先向_插入新元素,然后再移动_。11当用长度为N的一维数组顺序存储一个栈时,假定用top=0表示栈空,则表示栈满的条件为_。12向一个栈顶指针为HS的链栈中插入一个新结点*P果,应执行_和_操作。13从一个栈顶指针为HS的非空链栈中删除结点并不需要返回栈顶结点的值和回收结点时,应执行_操作。14假定front和rear分别
7、为一个链队的队首和队尾指针,则该链队中只要一个结点的条件为_。三、应用题执行下面函数调用后得到的输出结果是什么voidAF(Queue&Q)InitQueue(Q);inta4=5,8,12,15;for(inti=0;i一、单项选择题1.在稀疏矩阵的带行指针向量的链接存储中,每个行单链表中的结点都具有一样的_。A、行号B、列号C、元素值D、地址二、填空题1.在一个稀疏矩阵中,每个非零元素所对应的三元组包括该元素的_、_和_三项。2.在稀疏矩阵所对应的三元组线性表中,每个三元组元素按_为主序、_为辅序的次序排列。3.在初始化一个稀疏矩阵的函数定义中,矩阵形参应讲明为_参数。4.在稀疏矩阵的顺序
8、存储中,利用一个数组来存储非零元素,该数组的长度应_对应三元组线性表的长度。第五章树和二叉树一一、填空题1对于一棵具有n个结点的树,该树中所有结点的度数之和为_。2假定一棵三叉树的结点个数为50,则它的最小深度为_,最大深度为_。3在一棵三叉树中,度为3的结点数有2个,度为2的结点数有1个,度为1的结点数为2个,那么度为0的结点数有_个。4一棵深度为5的满二叉树中的结点数为_个,一棵深度为3的满三叉树中的结点数为_个。5假定一棵树的广义表表示为A(B(C,D(E,F,G),H(I,J),则树中所含的结点数为_个,树的深度为_,树的度为_。6假定一棵树的广义表表示为A(B(C,D(E,F,G),
9、H(I,J),则度为3、2、1、0的结点数分别为_、_、_和_个。7假定一棵树的广义表表示为A(B(C,D(E,F,G),H(I,J),则结点H的双亲结点为_,孩子结点为_。8在一棵二叉树中,假定双分支结点数为5个,单分支结点数为6个,则叶子结点数为_个。9对于一棵二叉树,若一个结点的编号为i,则它的左孩子结点的编号为_,右孩子结点的编号为_,双亲结点的编号为_。10在一棵二叉树中,第5层上的结点数最多为_。11假定一棵二叉树的结点数为18,则它的最小深度为_,最大深度为_。12一棵二叉树的广义表表示为a(b(c,d),e(f(,g),则e结点的双亲结点为_,左孩子结点为_,右孩子结点为_。1
10、3一棵二叉树的广义表表示为a(b(c,d),e(f(,g),它含有双亲结点_个,单分支结点_个,叶子结点_个。14假定一棵二叉树顺序存储在一维数组a中,则ai元素的左孩子元素为_,右孩子元素为_,双亲元素(i1)为_。15假定一棵二叉树顺序存储在一维数组a中,但让编号为1的结点存入a0元素中,让编号为2的结点存入a1元素中,其余类推,则编号为i结点的左孩子结点对应的存储位置为_,若编号为i结点的存储位置用j表示,则其左孩子结点对应的存储位置为_。16若对一棵二叉树从0开场进行结点编号,并按此编号把它顺序存储到一维数组a中,即编号为0的结点存储到a0中,其余类推,则ai元素的左孩子元素为_,右孩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 构造 语言版 章节 练习题
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内