基本数据结构与算法1.1 算法通关练习1.下列叙述中正确的是()。
A.算法的效率只与问题规模有关,与存储结构无关。
B.算法的时间复杂度是指执行算法所需的计算工作量。
C.数据的逻辑结构与存储结构是一一对应的。
D.算法的时间复杂度与空间复杂度一定相关。
2.算法的时间复杂度取决于()。
A.问题的规模B.问题的困难度C.待处理的数据的初始状态D.A和C3.描述算法的常用方法有()。
4.一个算法的时间复杂度是()的函数。
5.算法复杂度主要包括时间复杂度和()复杂度。
答案1、B2、D3、传统流程图、N-S结构化流程图和伪码描述语言4、问题规模5、空间1.3.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、数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及()A) 数据的存储结构 B) 计算方法C) 数据映象 D) 逻辑存储8、下列叙述中正确的是()A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据量D)以上都不对9、数据的存储结构是指()A)数据所占的存储空间B)数据的逻辑结构在计算机中的表示C)数据在计算机中的顺序存储方式D)存储在外存中的数据10、数据()包括集合、线性结构、树形结构和图4种类型。
A) 算法描述 B) 基本运算 C) 逻辑结构 D) 存储结构11、数据在计算机内存中的表示是指()A)数据的存储结构 B)数据结构C)数据的逻辑机构 D)数据元素间的关系12、数据结构研究的主要内容包括()、()和数据元素之间的三方面联系。
13、顺序存储方法是把逻辑上相邻的结点存储在物理位置()的存储单元中。
14、数据的基本单位是()。
15、数据结构分为逻辑结构与存储结构,线性链表属于()16、数据的逻辑结构有线性结构和()两大类。
答案1~5、CCCCB 6~11、BAABCA 12、数据存储结构、数据逻辑结构13、相邻14、数据元素 15、存储结构 16、非线性结构1.3.3 线性表过关练习1、线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是()A) 每个元素都有一个直接前件和直接后件B) 线性表中至少要有一个元素C) 表中诸元素的排列顺序必须是由小到大或由大到小D) 除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件2、线性表采用链式存储结构时,则内存中可用存储单元地址A) 必须是连续的 B) 部分地址必须是连续的C) 一定是不连续的 D) 连续不连续都可以3、在一个长度为n的顺序表中,向第i个元素位置插入一个新元素时,需要向后移动()个元素A)n-i B)i C) n-i-1 D) n-i+14、长度为n的顺序存储线性表,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为()。
答案1、D2、D3、D4、n/21.3.4 栈和队列过关练习1、栈和队列的共同特点是()A)都是先进先出 B) 都是先进后出C)只允许在端点处插入和删除元素 D) 没有共同点2、如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是()A) e3,e1,e4,e2 B) e2,e4,e3,e1C) e3,e4,e1,e2 D) 任意顺序3、在顺序栈中进行退栈操作时,()。
A)谁先谁后都可以 B)先移动栈顶指针,后取出元素 C)不分先后,同时进行 D)先取出元素,后移动栈顶指针4、下列关于队列的叙述中正确的是()A)在队列中只能插入数据 B)在队列中只能删除数据C)队列是先进先出的线性表 D)队列是后进先出的线性表5、下列数据结构中,按先进后出原则组织数据的是()A)线性链表 B)栈 C)循环链表 D)顺序表6、下列关于栈的叙述中正确的是()A)在栈中只能插入数据 B)在栈中只能删除数据C)栈是先进先出的线性表 D)栈是后进先出的线性表8、线性表的存储结构主要分为顺序存储结构和链式存储结构。
队列是一种特殊的线性表,循环队列是队列的()存储结构。
9、数据结构分为线性结构和非线性结构,带链的队列属于()。
10、通常元素进栈的顺序是()。
11、从一个循环队列中删除一个元素,通常的操作是()。
注意:一般元素进栈或入队的顺序(即插入一个元素):先移动栈顶指针或队尾指针,然后插入元素。
元素出栈或出队的顺序(即删除一个元素):先读出元素,然后移动栈顶指针或对头指针。
答案1~5、CBDCB 6、D 8、顺序 9、线性结构10、先移动栈顶指针,后存入元素 11、先取出元素,后移动对头指针1.3.5 线性链表过关练习1、链表不具有的特点是()A)不必事先估计存储空间 B) 可随机访问任一元素C)插入删除不需要移动元素 D)所需空间与线性表长度成正比2、用链表表示线性表的优点是()A) 便于随机存取 B) 花费的存储空间较顺序存储少C) 便于插入和删除操作 D) 数据元素的物理顺序与逻辑顺序相同3、线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是()A) 每个元素都有一个直接前件和直接后件B) 线性表中至少要有一个元素C) 表中诸元素的排列顺序必须是由小到大或由大到小D) 除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件4、下列叙述中正确的是()。
A) 线性链表是线性表的链式存储结构B) 栈与队列是非线性结构C) 双向链表是非线性结构D) 只有根结点的二叉树是线性结构5、循环链表的主要优点是()A) 不再需要头指针了B) 从表中任一结点出发都能访问到整个链表C) 在进行插入、删除运算时,能更好的保证链表不断开D) 已知某个结点的位置后,能够容易的找到它的直接前件6、线性表的顺序存储结构和线性表的链式存储结构分别是A) 顺序存取的存储结构、顺序存取的存储结构B) 随机存取的存储结构、顺序存取的存储结构C) 随机存取的存储结构、随机存取的存储结构D) 任意存取的存储结构、任意存取的存储结构7、用链表表示线性表的突出优点是()。
8、长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为()。
答案1~6、BCDABB 7、插入、删除结点方便 8、n/2基本数据结构与算法实题讲解1、设一棵完全二叉树共有700个结点,则在该二叉树中有个叶子结点。
2、在深度为5的满二叉树中,叶子结点的个数为()A) 32 B) 31 C) 16 D) 15答案1、350 2、C1.3.6 树与二叉树过关练习1、已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为()A) GEDHFBCA B) DGEBHFCAC) ABCDEFGH D) ACBFEDHG2、树是结点的集合,它的根结点数目是()A)有且只有1 B)1或多于1 C) 0或1 D)至少23、在深度为5的满二叉树中,叶子结点的个数为()A) 32 B) 31 C) 16 D) 154、下列叙述中正确的是()A) 线性表是线性结构B) 栈与队列是非线性结构C) 线性链表是非线性结构 D) 二叉树是线性结构5、具有3个结点的二叉树有()A) 2种形态 B) 4种形态 C) 7种形态 D) 5种形态6、设有下列二叉树,其前序遍历的结果为()A) ZBTTCPXA B) ATBZXCTP C) ZBTACTXP D) ATBZXCPT7、一棵二叉树中,共有70个叶子结点与80个度为1的结点,则其总结点为()。
A) 219 B)221 C) 229 D) 2318、设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为()A) 12 B) 13 C) 14 D) 159、设有下列二叉树,中序遍历的结果为()A) ABCDEF B) DBEAFC C) ABDECF D) DEBFCA10、在树结构中,树根结点没有()11、在深度为7的满二叉树中,度为2的结点个数为()。
12、一棵二叉树第6层(根结点为第1层)的结点数最多为()个。
13、深度为K的完全二叉树,至少有()个结点,至多有()个结点,若按至上而下,从左到右的次序编号(从1开始),则编号最小的叶子结点的编号是()。
答案1~5、BCCAD 6~9、BABB 10、前件 11、63 12、32 13、2ˆ(k-1), 2ˆ(k-1),2ˆ(k-1)1.3.7 交换排序过关练习1、假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为()A) log2n B) n^2 C) O(n1..5) D) n(n-1)/22、最简单的交换排序方法是()A) 快速排序 B) 选择排序 C) 堆排序 D) 冒泡排序3、对长度为n的线性表进行顺序查找,在最坏的情况下所需要的比较次数为()A) n+1 B) n C) (n+1)/2 D) n/2 4、下列数据结构中,能用二分法进行查找的是()A) 顺序存储的有序线性表 B) 线性链表C) 二叉链表 D) 有序线性链表5、在对n个元素进行冒泡排序的过程中,第一趟至多需要进行()对相邻元素之间的比较。
A) n/2 B) n-1 C) n D) n+16、排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、()和选择排序等。
7、在长度为n的有序线性表中进行二分查找。
最坏的情况下,需要的比较次数为()。
8、二分查找法的存储结构仅限于(),且是有序的。
9、在插入排序和选择排序中,若原始记录基本正序,则选择(),若原始记录基本反序,则选择()。