数据结构复习题及标准答案
- 格式:doc
- 大小:606.50 KB
- 文档页数:20
第一章1.在数据结构中,从逻辑上可以把数据结构分为(C )A.动态结构和静态结构B。
紧凑结构和非紧凑结构C.线性结构和非线性结构D。
内部结构和外部结构● 2.在数据结构中,与所使用的计算机无关的是( A )A。
逻辑结构 B. 存储结构C。
逻辑和存储结构 D. 物理结构3。
下面程序的时间复杂度为____O(mn)_______。
for (int i=1;i〈=m; i++)for (int j=1;j〈=n;j++ )S+=i第二章线性表●链表不具备的特点是(A)A 可以随机访问任一结点(顺序)B 插入删除不需要移动元素C 不必事先估计空间D 所需空间与其长度成正比2。
不带头结点的单链表head为空的判定条件为(A ),带头结点的单链表head为空的判定条件为(B )A head==nullB head—〉next==nullC head-〉next==headD head!=null●3.在线性表的下列存储结构中,读取元素花费时间最少的是(D)A 单链表B 双链表C 循环链表D 顺序表● 4.对于只在表的首、尾两端进行手稿操作的线性表,宜采用的存储结构为(C)A 顺序表B 用头指针表示的单循环链表C 用尾指针表示的单循环链表D 单链表●5。
在一个具有n 个结点的有序单链表中插入一个新的结点,并保持链表元素仍然有序,则操作的时间复杂度为( D )A O(1)B O(log2n)C O(n2)D O(n)● 6.在一个长度为n (n〉1)的单链表上,设有头和尾两个指针,执行(B)操作与链表的长度有关A 删除单链表中第一个元素B 删除单链表中最后一个元素C 在第一个元素之前插入一个新元素D 在最后一个元素之后插入一个新元素●7。
与单链表相比,双向链表的优点之一是(D)A 插入删除操作更简单B 可以进行随机访问C 可以省略表头指针或表尾指针D 顺序访问相邻结点更容易●8。
若list是某带头结点的循环链表的头结点指针,则该链表最后那个链结点的指针域(头结点的地址)中存放的是( B )A list的地址B list的内容C list指的链结点的值D 链表第一个链结点的地址●9.若list1和list2分别为一个单链表与一个双向链表的第一个结点的指针,则( B )A list2比list1占用更多的存储单元B list1与list2占用相同的存储单元C list1和list2应该是相同类型的指针变量D 双向链表比单链表占用更多的存储单元10。
一、单项选择题(本大题共71小题,每小题2分,共142分)1、一个对象序列的排序码为{46,79,56,38,40,84},采用快速排序以位于最左位置的对象为基准而得到的第一次划分结果为()。
()A.{38,46,79,56,40,84}B.{38,79,56,46,40,84}C.{40,38,46,56,79,84}D.{38,46,56,79,40,84}标准答案:C2、广义表((a),a)的表头是()。
()A.aB.bC.(a)D.((a))标准答案:C3、数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是()。
()A.80B.100C.240D.270标准答案:C4、在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行()。
()A.HL=p;p->next=HL;B.p->next=HL;HL=p;C.p->next=HL;p=HL;D.p->next=HL->next;HL->next=p;标准答案:B5、一个具有n个顶点的无向完全图的边数为()。
()A.(n+1)/2B.n(n-1)/2C.n(n-1)D.n(n+1)标准答案:B6、如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。
下列选项中,()就是不稳定的排序方法。
()A.起泡排序B.归并排序C.直接插入法排序D.简单选择排序标准答案:D7、按照二叉树的定义,具有3个结点的二叉树有()种。
()A.3B.4C.5D.6标准答案:C8、设有1000个元素,用二分法查找时,最大比较次数是()。
()A.1B.7C.10D.25标准答案:C9、树适合用来表示()。
()A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据标准答案:C10、设有两个串p和q,求p在q中首次出现的位置的运算称作()。
一、一、单选题(每题 2 分,共20分)1. 1.栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2. 2.用链接方式存储的队列,在进行插入运算时( ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3. 3.以下数据结构中哪一个是非线性结构?( )A. 队列B. 栈C. 线性表D. 二叉树4. 4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.6965. 5.树最适合用来表示( )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6. 6.二叉树的第k层的结点数最多为( ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.8.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A. O(1)B. O(n)C. O(1og2n)D. O(n2)9.9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有()个,A.1 B.2 C.3 D.410.10.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。
A.5B.6C.7D.8二、二、填空题(每空1分,共26分)1. 1.通常从四个方面评价算法的质量:_________、_________、_________和_________。
一、选择题1. 算法的计算量的大小称为计算的(B )。
【北京邮电大学2000 二、3 (20/8分)】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于(C )【中科院计算所1998 二、1 (2分)】A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(1),它必须具备(2)这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性【南京理工大学1999 一、1(2分)【武汉交通科技大学1996 一、1(4分)】4.一个算法应该是()。
【中山大学1998 二、1(2分)】A.程序B.问题求解步骤的描述C.要满足五个基本特性D.A 和C.5. 下面关于算法说法错误的是()【南京理工大学2000 一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是()【南京理工大学2000 一、2 (1.5分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为()两大类。
【武汉交通科技大学1996 一、4(2分)】A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是()。
【北方交通大学2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈9.以下数据结构中,哪一个是线性结构()?【北方交通大学2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串10.以下那一个术语与数据的存储结构无关?()【北方交通大学2001 一、2(2分)】A.栈 B. 哈希表 C. 线索树 D. 双向链表11.在下面的程序段中,对x的赋值语句的频度为()【北京工商大学2001 一、10(3分)】FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1。
《数据结构》第1-2章练习题一、选择1、通常从正确性、易读性、健壮性、高效性等四个方面评价算法(包括程序)的质量。
以下解释错误的是( )A、正确性算法应能正确地实现预定的功能(即处理要求)B、易读性算法应易于阅读和理解以便于调试修改和扩充C、健壮性当环境发生变化时,算法能适当地做出反应或进行处理,不会产生不需要的运行结果D、高效性即达到所需要的时间性能2、以下说法正确的是 ( )A、数据元素是数据的最小单位B、数据项是数据的基本单位C、数据结构是带有结构的各数据项的集合D、数据结构是带有结构的数据元素的集合3、对于顺序表,以下说法错误的是()A、顺序表是用一维数组实现的线性表,数组的下标可以看成是元素的绝对地址B、顺序表的所有存储结点按相应数据元素间的逻辑关系决定的次序依次排列C、顺序表的特点是:逻辑结构中相邻的结点在存储结构中仍相邻D、顺序表的特点是:逻辑上相邻的元素,存储在物理位置也相邻的单元中数组的下标可以看成是元素的相对地址4、对顺序表上的插入、删除算法的时间复杂性分析来说,通常以()为标准操作A、条件判断B、结点移动C、算术表达式D、赋值语句5、对于顺序表的优缺点,以下说法错误的是()A、无需为表示结点间的逻辑关系而增加额外的存储空间B、可以方便地随机存取表中的任一结点C、插入和删除运算较方便D、容易造成一部分空间长期闲置而得不到充分利用6、链表不具有的特点是:A、可随机访问任一个元素B、插入删除不需要移动元素C、不必事先估计存储空间D、所需空间与线性表长度成正比7、若线性表最常用的操作是存取第i个元素及其前驱的值,则采用()存储方式节省时间A、单链表B、双向链表C、单循环链表D、顺序表顺序表可以随机存取8、设指针P指向双链表的某一结点,则双链表结构的对称性可用()式来刻画A、p->prior->next->==p->next->nextB、p->prior->prior->==p->next->priorC、p->prior->next->==p->next->priorD、p->next->next==p->prior->prior9、以下说错误的是()A、对循环来说,从表中任一结点出发都能通过前后操作而扫描整个循环链表B、对单链表来说,只有从头结点开始才能扫描表中全部结点C、双链表的特点是找结点的前趋和后继都很容易D、对双链表来说,结点*P的存储位置既存放在其前趋结点的后继指针域中,也存放在它的后继结点的前趋指针域中。
《数据结构》自考复习思考试题○7一、单选题(每小题2分,共20分)1、向顺序栈中压入新元素时,应当()。
A.先移动栈顶指针,再存入元素B.先存入元素,再移动栈顶指针C.先后次序无关紧要D.同时进行2、设有向图有n个顶点和e条边,采用领接表作为其存储表示,在进行拓扑排序时,总的计算时间为()。
A.O(nlog2e)B.O(n+e)C.O(ne) D.O(n2)3、一个对象序列的排序码为{46,79,56,38,40,84},采用快速排序以位于最左位置的对象为基准而得到的第一次划分结果为()。
A.{38,46,79,56,40,84} B.{38,79,56,46,40,84} C.{40,38,46,56,79,84} D.{38,46,56,79,40,84}4、线性链表不具有的特点是()。
A.随机访问B.不必事先估计所需存储空间大小C.插入与删除时不必移动元素D.所需空间与线性表长度成正比5、设有一个10阶的对称矩阵A[10][10],采用压缩存储方式按行将矩阵中下三角部分的元素存入一维数组B[ ]中,A[0][0]存入B[0]中,则A[8][5]在B[ ]中()位置。
A.32 B.33 C.41 D.656、设F是一个森林,B是由F转换得到的二叉树,F中有n个非叶结点,则B中右指针域为空的结点有()个。
A.n-1 B.n C.n+1 D.n+27、具有65个结点的完全二叉树的高度为()。
(根的层次号为0)A.8 B.7 C.6 D.58、若待排序对象序列在排序前已按其排序码递增顺序排序,则采用()方法比较次数最少。
A.直接插入排序B.快速排序C.归并排序D.直接选择排序9、在一个无向图中,所有顶点的度数之和等于所有边数的()倍。
A.3 B.2 C.1 D.1/210、对有14个数据元素的有序表R[14]进行折半搜索,搜索到R[3]的关键码等于给定值,此时元素比较顺序依次为()。
A.R[0],R[1],R[2],R[3] B.R[0],R[13],R[2],R[3]C.R[6],R[2],R[4],R[3] D.R[6],R[4],R[2],R[3]二、判断题(每小题1分,共10分)()11、数据的基本单位是数据项。
“数据结构”期末考试试题一、单选题(每小题2分,共12分)1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。
A. HL=ps p一>next=HLB. p一>next=HL;HL=p3C. p一>next=Hl;p=HL;D. p一>next=HL一>next;HL一>next=p;2.n个顶点的强连通图中至少含有( )。
A.n—l条有向边B.n条有向边C.n(n—1)/2条有向边D.n(n一1)条有向边3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A.O(1)B.O(n)C.O(1Ogzn)D.O(n2)4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。
A.24 B.48C. 72 D. 535.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。
A.整形B.引用型C.指针型D.常值引用型·6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
A.O(n) B.O(1)C.O(n2) D.O(10g2n)二、填空题(每空1分,共28分)1.数据的存储结构被分为——、——、——和——四种。
2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。
3.——中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为————。
4.在一棵高度为h的3叉树中,最多含有——结点。
5.假定一棵二叉树的结点数为18,则它的最小深度为——,最大深度为——· 6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定——该结点的值。
7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层——调整,直到被调整到——位置为止。
《数据结构》试题(A卷)(考试时间: 90分钟)一、单项选择题(本大题共15小题,每小题2分,共30分)(每题只有一个选项是正确的,将答案填写在括号内,错选、多选不得分)1.()是组成数据的基本单位,是一个数据整体中相对独立的单元。
A.数据 B.数据元素 C.数据对象 D.数据结构2.算法计算量的大小称为算法的()。
A.效率?????B.复杂度C.数据元素之间的关系??? ?D.数据的存储方法3.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入或删除运算,则采用以下()方式最节省时间。
A.链式存储B. 索引存储C.顺序存储D.散列存储4.下述哪一条是顺序存储结构的优点?()A.存储密度大?B.插入运算方便?C.删除运算方便?D.可方便地用于各种逻辑结构的存储表示5.在一个单链表中,若删除p所指结点的后续结点,则执行()。
A.p->next=p->next->nextB.p->next=p->nextC.p=p->next;p->next=p->next->nextD.p=p->next->next6.带头结点的单链表head为空的判定条件是()。
A.head==NULLB.head->next==NULLC.head->next==headD.head!==NULL7.非空的循环单链表head的尾结点(由p所指向)满足()。
A.p->head==NULLB.p==NULLC.p->next==headD.p==head8.下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链式存储,不必占用一片连续的存储单元。
D.线性表采用链式存储,便于插入和删除操作。
9.队列操作的原则是()。
A.后进先出B.先进先出C.只能进行插入D.只能进行删除10.栈中允许进行插入和删除的一端称为()。
第3章数据结构一、选择题1. 图形结构是数据元素之间存在一种____B_____。
A 一对多关系B 多对多关系C 多对一关系D 一对一关系2.算法分析的目的是___C_____。
A 找出数据结构的合理性B 研究算法中的输入和输出的关系C 分析算法的效率以求改进D 分析算法的易懂性和文档性3.算法的时间复杂度与___A____ 有关。
A 问题规模B 计算机硬件性能C 程序设计语言的类型或版本D 算法设计者的水平4.有下面的算法段:for (i=0; i<n; i++)k++;其时间复杂度为 B 。
A.O(1) B.O(n) C.O(log2n) D.O(n2)5.计算机算法必须具备输入、输出和___C____。
A、计算方法B、排序方法C、解决问题的有限运算步骤D、程序设计法是数据的基本单位。
A、数据结构B、数据元素C、数据项D、数据类型7.下面,对非空线性表特点的论述,___C____是正确的。
A.所有结点有且只有一个直接前驱B.所有结点有且只有一个直接后继C.每个结点至多只有一个直接前驱,至多只有一个直接后继D.结点间是按照1对多的邻接关系来维系其逻辑关系的8.在顺序表中,只要知道____D____,就可以在相同的时间内求出任一结点的存储地址。
A、开始结点B、终端结点C、向量大小D、基地址和结点大小9.在非空线性表中,有且只有一个直接前驱和一个直接后继的结点是__C____。
A、开始结点B、终端结点C、内部结点D、所有结点10.顺序表中逻辑上相邻的结点的物理位置为_____A___。
A、一定相邻B、不必相邻C、按某种规律排列D、不要求11.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是____B___。
A 110B 108C 100D 12012.链表不具有的特点是____A___。
A、可以随机访问任何一个元素B、插入和删除元素不需要移动元素C、不必事先估计存储空间D、所需的存储空间和链表长度无关13.数据结构反映了数据元素之间的结构关系。
习题1一、单项选择题1. 数据结构是指()。
A.数据元素的组织形式B.数据类型C.数据存储结构D.数据定义2. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为()。
A.存储结构B.逻辑结构C.链式存储结构D.顺序存储结构3. 树形结构是数据元素之间存在一种()。
A.一对一关系B.多对多关系C.多对一关系D.一对多关系4. 设语句x++的时间是单位时间,则以下语句的时间复杂度为()。
for(i=1; i<=n; i++)for(j=i; j<=n; j++)x++;A.O(1)B.O(2n)C.O(n)D.O(3n)5. 算法分析的目的是(1),算法分析的两个主要方面是(2)。
(1) A.找出数据结构的合理性 B.研究算法中的输入和输出关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性(2) A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性6. 计算机算法指的是(1),它具备输入,输出和(2)等五个特性。
(1) A.计算方法 B.排序方法C.解决问题的有限运算序列D.调度方法(2) A.可行性,可移植性和可扩充性 B.可行性,确定性和有穷性C.确定性,有穷性和稳定性D.易读性,稳定性和安全性7. 数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要()。
A.低B.高C.相同D.不好说8. 数据结构作为一门独立的课程出现是在()年。
A.1946B.1953C.1964D.19689. 数据结构只是研究数据的逻辑结构和物理结构,这种观点()。
A.正确B.错误C.前半句对,后半句错D.前半句错,后半句对10. 计算机内部数据处理的基本单位是()。
A.数据B.数据元素C.数据项D.数据库二、填空题1. 数据结构按逻辑结构可分为两大类,分别是______________和_________________。
一、是非题1.数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运算三个方面。
.......................( T )2.线性表的逻辑顺序与物理顺序总是一致的........( F )3.线性表中的每个结点最多只有一个前驱和一个后继。
......( T )4.线性的数据结构可以顺序存储,也可以链接存储。
非线性的数据结构只能链接存储。
.......................( F )5.栈和队列逻辑上都是线性表。
..........................( T )6.单链表从任何一个结点出发,都能访问到所有结点........( F )7.单链表形式的队列,头指针F指向队列的第一个结点,尾指针R指向队列的最后一个结点。
.................................................( T )8.在用单链表表示的链式队列中,队头在链表的链尾位置。
....( F )9.多维数组是向量的推广。
..............................( T )10.栈是一种先进先出的线性表。
....( F )11.凡是递归定义的数据结构都可以用递归算法来实现它的操作。
......( T )12.设串S的长度为n,则S的子串个数为n(n+1)/2。
...........( F )13.一般树和二叉树的结点数目都可以为0。
................( F )14.按中序遍历二叉树时,某结点的直接后继是它的右子树中第1个被访问的结点。
....( T )15.后序序列和中序序列能唯一确定一棵二叉树。
....( T )16.对于一棵具有n个结点,其高度为h的二叉树,进行任—种次序遍历的时间复杂度为O(n) .............( T )17.网络的最小代价生成树是唯一的。
...( T )18.图的拓扑有序序列不是唯一的。
数据结构练习题第一部分绪论一、单选题1. 一个数组元素a[i]与________的表示等价。
A、 *(a+i)B、 a+iC、 *a+iD、 &a+i2. 对于两个函数,若函数名相同,但只是____________不同则不是重载函数。
A、参数类型B、参数个数C、函数类型3. 若需要利用形参直接访问实参,则应把形参变量说明为________参数A、指针B、引用C、值4. 下面程序段的时间复杂度为____________。
for(int i=0; i<m; i++)for(int j=0; j<n; j++)a[i][j]=i*j;A、 O(m2)B、 O(n2)C、 O(m*n)D、 O(m+n)5. 执行下面程序段时,执行S语句的次数为____________。
for(int i=1; i<=n; i++)for(int j=1; j<=i; j++)S;A、 n2B、 n2/2C、 n(n+1)D、 n(n+1)/26. 下面算法的时间复杂度为____________。
int f( unsigned int n ) {if ( n==0 || n==1 ) return 1; else return n*f(n-1);}A、 O(1)B、 O(n)C、 O(n2)D、 O(n!)二、填空题1. 数据的逻辑结构被分为__________、_________、__________和__________四种。
2. 数据的存储结构被分为__________、_________、__________和__________四种。
3. 在线性结构、树形结构和图形结构中,前驱和后继结点之间分别存在着________、________和________的联系。
4. 一种抽象数据类型包括__________和__________两个部分。
5. 当一个形参类型的长度较大时,应最好说明为_________,以节省参数值的传输时间和存储参数的空间。
1. 1.数据结构是指数据及其相互之间的______________。
当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。
2. 2.队列的插入操作是在队列的___尾______进行,删除操作是在队列的____首______进行。
3. 3.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是___top==0___(要超出才为满)_______________。
4. 4.对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插入元素的时间复杂度为____________。
5. 5.设W为一个二维数组,其每个数据元素占用4个字节,行下标i从0到7 ,列下标j从0到3 ,则二维数组W的数据元素共占用_______个字节。
W中第6 行的元素和第4 列的元素共占用_________个字节。
若按行顺序存放二维数组W,其起始地址为100,则二维数组元素W[6,3]的起始地址为__________。
6. 6.广义表A= (a,(a,b),((a,b),c)),则它的深度为____________,它的长度为____________。
7.7.二叉树是指度为2的____________________树。
一棵结点数为N的二叉树,其所有结点的度的总和是_____________。
8.8.对一棵二叉搜索树进行中序遍历时,得到的结点序列是一个______________。
对一棵由算术表达式组成的二叉语法树进行后序遍历得到的结点序列是该算术表达式的__________________。
9.9.对于一棵具有n个结点的二叉树,用二叉链表存储时,其指针总数为_____________个,其中_______________个用于指向孩子,_________________个指针是空闲的。
10.10.若对一棵完全二叉树从0开始进行结点的编号,并按此编号把它顺序存储到一维数组A中,即编号为0的结点存储到A[0]中。
专科《数据结构》一、 (共75题,共150分)1。
数据的逻辑结构在计算机内部存储表示称为为数据的()。
(2分)A.数据结构 B。
逻辑关系C。
物理结构 D.数据元素的内部结构.标准答案:C2。
()是数据的不可分割的最小单位。
(2分)A.数据对象 B。
数据元素 C。
数据类型 D。
数据项。
标准答案:D3。
算法的时间复杂度是对算法()的度量。
(2分)A。
时间效率 B。
空间效率 C。
可读性 D.健壮性.标准答案:A4。
()是限制了插入和删除操作在一端进行的线性表。
(2分)A.栈 B。
队列 C。
串 D.数组。
标准答案:A5. 数组通常采用顺序存储的优点是()。
(2分)A.便于增加存储空间 B。
便于依据下标进行随机存取C。
避免数据元素的移动 D.防止下标溢出。
标准答案:B6. 采用带头结点双向链表存储的线性表,在插入一个元素时,需要修改指针()次。
(2分)A.1B.2 C。
3 D。
4.标准答案:D7。
线性表的顺序存储结构是一种()的存储结构. (2分)A。
顺序存取 B.随机存取 C.索引存取 D。
Hash存取。
标准答案:B8. 数组a[1。
256]采用顺序存储,a的首地址为10,每个元素占2字节,则a [21]的地址是()。
(2分)A。
10 B。
30 C。
50 D。
70.标准答案:C9。
深度为4的二叉树,第4层至少有()个结点。
(2分)A。
0 B。
1 C。
8 D。
15。
标准答案:B10. 若二叉树对应的二叉链表共有11个非空链域,则该二叉树有()个结点的二叉树. (2分)A。
10 B。
11 C。
20 D。
21.标准答案:A11。
下面叙述错误的是(). (2分)A.借助于队列可以实现对二叉树的层遍历B.栈的特点是先进后出C。
对于单链表进行插入操作过程中不会发生上溢现象D.在无向图的邻接矩阵中每行1的个数等于对应的顶点度。
标准答案:C12. 以下与数据的存储结构无关的术语是(). (2分)A.循环队列B.双向链表 C。
数据结构考试题库及答案一、选择题1. 下列哪个不是线性结构?A. 栈B. 队列C. 双向链表D. 树答案:D2. 在顺序存储结构中,数据元素的物理位置与逻辑位置相同的是哪种结构?A. 栈B. 队列C. 线性表D. 树答案:C3. 下列哪种排序算法的时间复杂度是O(nlogn)?A. 冒泡排序B. 选择排序C. 快速排序D. 插入排序答案:C4. 在二叉树中,度为0的节点称为()。
A. 根节点B. 内节点C. 叶子节点D. 父节点答案:C5. 下列哪种图的邻接矩阵是对称的?A. 有向图B. 无向图C. 有向连通图D. 无向连通图答案:B二、填空题6. 在链表中的每个节点至少包含两个部分:一个是存储数据元素的数据域,另一个是存储下一个节点地址的指针域。
7. 在顺序表中,元素之间的逻辑关系是由它们的相对位置来体现的。
8. 快速排序的基本思想是:在待排序序列中选取一个基准元素,将序列中所有小于基准元素的元素放在基准元素前面,所有大于基准元素的元素放在基准元素后面。
9. 图中的每个节点称为顶点,顶点之间的连线称为边。
10. 在哈希表中,哈希函数的目的是将关键字映射到散列地址。
三、判断题11. 在顺序表中插入一个元素的时间复杂度为O(1)。
()答案:错误。
插入一个元素的时间复杂度为O(n),因为可能需要移动其他元素。
12. 在链表中删除一个元素的时间复杂度为O(n)。
()答案:错误。
删除一个元素的时间复杂度为O(1),只要找到该元素的前一个节点即可。
13. 二分查找只适用于有序的顺序表。
()答案:正确。
14. 在二叉树中,任意节点的度数不会超过2。
()答案:正确。
15. 图的邻接表表示法比邻接矩阵表示法更加节省空间。
()答案:正确。
四、应用题16. 请用C语言实现一个顺序栈的数据结构,并给出入栈、出栈和判断栈空的操作。
答案:```c#define MAXSIZE 100typedef struct {int data[MAXSIZE];int top;} SeqStack;// 初始化栈void InitStack(SeqStack s) {s->top = -1;}// 判断栈是否为空int StackEmpty(SeqStack s) {return s->top == -1;}// 入栈int Push(SeqStack s, int x) {if (s->top == MAXSIZE - 1) {return 0; // 栈满}s->data[++s->top] = x;return 1;}// 出栈int Pop(SeqStack s, int x) {if (s->top == -1) {return 0; // 栈空}x = s->data[s->top--];return 1;}```17. 请简述二分查找的基本思想。
一、单项选择题( B )1. 计算机算法必须具备输入、输出和 等5个特性。
A) 可行性、可移植性和可扩充性 B) 可行性、确定性和有穷性C) 确定性、有穷性和稳定性 D) 易读性、稳定性和安全性( C )2. 数据结构中,与所使用的计算机无关的是数据的 结构;A) 存储 B) 物理 C) 逻辑 D) 物理和存储( C )3. 算法分析的目的是:A) 找出数据结构的合理性 B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进 D) 分析算法的易懂性和文档性( A )4. 算法分析的两个主要方面是:A) 空间复杂性和时间复杂性 B) 正确性和简明性C) 可读性和文档性 D) 数据复杂性和程序复杂性( C )5. 计算机算法指的是:A) 计算方法 B) 排序方法 C) 解决问题的有限运算序列 D) 调度方法6.数据结构是研究数据的(A)和(B)以及它们之间的相互关系,并对这种结构定义相应的 (C),设计出相应的(D),从而确保经过这些运算后所得到的新结构是(E)结构类型。
供选择的答案A.B: 1.理想结构 2.抽象结构 3.物理结构 4逻辑结构C.D.E: 1.运算 2.算法 3.结构 4.规则 5.现在的 6.原来的解答:341267.(A)是描述客观事物的数、字符以及所有能输入到计算机中被计算机程序加工处理的符号的结合。
(B)是数据的基本单位,即数据结合中的个体。
有时一个(B)由若干个 (C)组成,在这种情况下,称(B)为记录。
(C)是数据的最小单位。
(D)是具有相同特性的数据元素的集合。
(E)是带有结构特性的数据元素的结合。
被计算机加工的数据元素不是孤立无关的,它们彼此之间一般存在着某种联系,通常将数据元素的这种联系关系称为 (G)。
算法的计算量和问题规模的联系用(H)表示。
供选择的答案:A-F: 1.数据元素 2.符号 3.记录 4.文件 5.数据 6.数据项 7.数据对象 8.关键字 9.数据结构G: 1.规则 2.集合 3.结构 4.运算H: 1.现实性 2.难度 3.复杂性 4.效率解答:5167933二、判断题1, 数据元素是数据的最小单位。
数据结构复习题及标准答案————————————————————————————————作者:————————————————————————————————日期:一、选择题。
(每小题2分,共40分)(1) 计算机识别.存储和加工处理的对象被统称为____A____。
A.数据B.数据元素C.数据结构D.数据类型(2) 数据结构通常是研究数据的____ A _____及它们之间的联系。
A.存储和逻辑结构B.存储和抽象C.理想和抽象D.理想与逻辑(3) 不是数据的逻辑结构是____ A ______。
A.散列结构B.线性结构C.树结构D.图结构(4) 数据结构被形式地定义为<D,R>,其中D是____ B _____的有限集,R是____ C _____的有限集。
A.算法B.数据元素C.数据操作D.逻辑结构(5) 组成数据的基本单位是____ A ______。
A.数据项B.数据类型C.数据元素D.数据变量(6) 设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是____ A ______。
A.线性结构B.树型结构C.图型结构D.集合(7) 数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为___ C ____。
A.存储结构B.逻辑结构C.顺序存储结构D.链式存储结构(8) 在数据结构的讨论中把数据结构从逻辑上分为___ A ____。
A.内部结构与外部结构B.静态结构与动态结构C.线性结构与非线性结构D.紧凑结构与非紧凑结构(9) 对一个算法的评价,不包括如下____ B _____方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度(10) 算法分析的两个方面是__ A ____。
A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性(11) 线性表是具有n个___ C _____的有限序列(n≠0)。
A.表元素B.字符C.数据元素D.数据项(12) 线性表的存储结构是一种____ B ____的存储结构。
A.随机存取B.顺序存取C.索引存取D.HASH存取(13) 在一个长度为n 的顺序表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要向后移动____B ____个元素。
A.n-iB.n-i+1C.n-i-1D.i(14) 链表是一种采用____ B ____存储结构存储的线性表;A.顺序B.链式C.星式D.网状(15) 下面关于线性表的叙述错误的是___ D _____。
A.线性表采用顺序存储必须占用一片连续的存储空间B.线性表采用链式存储不必占用一片连续的存储空间C.线性表采用链式存储便于插入和删除操作的实现D.线性表采用顺序存储便于插入和删除操作的实现(16) 设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B之间插入结点X的操作序列为__ B ______。
A. s->next=p->next;p->next=-s;B. q->next=s; s->next=p;C. p->next=s->next;s->next=p;D. p->next=s;s->next=q;(17) 设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为___ A _____。
A. p->next=p->next->nextB. p=p->nextC. p=p->next->nextD. p->next=p(18) 下列说法哪个正确?____ D ______A. 堆栈是在两端操作、先进后出的线性表B. 堆栈是在一端操作、先进先出的线性表C. 队列是在一端操作、先进先出的线性表D. 队列是在两端操作、先进先出的线性表(19) 栈和队列的共同点是 _____ C _______。
A. 都是先进后出B. 都是先进先出C. 只允许在端点处插入和删除元素D. 没有共同点(20) 栈与一般线性表的区别主要在_____D______。
A、元素个数B、元素类型C、逻辑结构D、插入、删除元素的位置(21) 链栈与顺序栈相比,比较明显的优点是_____D_____。
A、插入操作更加方便B、删除操作更加方便C、不会出现下溢的情况D、不会出现上溢的情况(22) 以下数据结构中哪一个是非线性结构___ D ______。
A.队列B.栈C.线性表D.二叉树(23) 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为 _____C ______。
A. iB. B. n=iC. n-i+1D.不确定(24) 当利用大小为N的一维数组顺序存储一个栈时,假定用top==N表示栈空,则向这个栈插入一个元素时,首先应执行 ____ B ______语句修改top指针。
A. top++B. top--C. top=0D. top(25) 4个元素进S栈的顺序是A,B,C,D,经运算POP(S)后,栈顶元素是___ C _______。
A. AB. BC. CD. D(26) 一个栈的输入序列是a,b,c,d,e,则栈的不可能的输出序列是____ C _____。
A. edcbaB. decbaC. dceabD. abcde(27) 设输入序列是1、2、3、……、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是____ C ______。
A. n-iB. n-1-iC. n+1-iD.不能确定(28) 字符A、B、C、D依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成___ B ___个不同的字符串?A. 15B. 14C. 16D. 21(29) 设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为____ D _______。
A. top=top+1;B. top=top-1;C. top->next=top;D. top=top->next;(30) 设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是____ C _____。
A. 6B. 4C. 3D. 2(31) 若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3。
当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为 ____ B _____。
A. 1和5B. 2和4C. 4和2D. 5和1(32) 设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为____ C _____。
A. R-FB. F-RC. (R-F+M)%MD. (F-R+M)%M(33) 设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为 ____ C _____。
A. front->next=s;front=s;B. s->next=rear;rear=s;C. rear->next=s;rear=s;D. s->next=front;front=s;(34) 如下陈述中正确的是___ A ______。
A. 串是一种特殊的线性表B. 串的长度必须大于零C. 串中元素只能是字母D. 空串就是空白串(35) 下列关于串的叙述中,正确的是 ___ D ______。
A. 串长度是指串中不同字符的个数B. 串是n个字母的有限序列C. 如果两个串含有相同的字符,则它们相等D. 只有当两个串的长度相等,并且各个对应位置的字符都相符时才相等(36) 字符串的长度是指___ C ______。
A. 串中不同字符的个数B. 串中不同字母的个数C. 串中所含字符的个数D. 串中不同数字的个数(37) 两个字符串相等的充要条件是____ C ______。
A. 两个字符串的长度相等B. 两个字符串中对应位置上的字符相等C. 同时具备(A)和(B)两个条件D. 以上答案都不对(38) 串是一种特殊的线性表,其特殊性体现在____ B _______。
A. 可以顺序存储B. 数据元素是一个字符C. 可以链接存储D. 数据元素可以是多个字符(39) 设有两个串p和q,求q在p中首次出现的位置的运算称作 ____ B ______。
A. 连接B. 模式匹配C. 求子串D. 求串长(40) 设串sI="ABCDEFG",s2="PQRST",函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1,2,1en(s2)),subs(sl,len(s2),2))的结果串是__D ___。
A. BCDEFB. BCDEFGC. BCPQRSTD. BCDEFEF(41) 函数substr(“DATASTRUCTURE”,5,9)的返回值为___ A ______。
A. “STRUCTURE”B. “DATA”C. “ASTRUCTUR”D. “DATASTRUCTURE”(42) 设串S=”I AM A TEACHER!”,其长度是____ D ______。
A. 16B. 11C. 14D. 15(43) 假定在一棵二叉树中,双分支结点数为15个,单分支结点数为32个,则叶子结点数为____B____。
A. 15B. 16C. 17D. 47(44) 假定一棵二叉树的结点数为18个,则它的最小高度____B____。
A. 4B. 5C. 6D. 18(45) 在一棵二叉树中第五层上的结点数最多为____C____。
A. 8B. 15C. 16D. 32(46) 在一棵具有五层的满二叉树中,结点总数为____A____。
A. 31B. 32C. 33D. 16(47) 已知8个数据元素为(34、76、45、18、26、54、92、65),按照依次插入结点的方法生成一棵二叉排序树后,最后两层上的结点总数为____B____。
A. 1B. 2C.D. 4(48) 由分别带权为9、2、5、7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为____C____。