数据结构复习题
pta数据结构期末复习题

pta数据结构期末复习题一、选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是什么?A. 元素之间存在一对一的关系B. 元素之间存在一对多的关系C. 元素之间存在多对多的关系D. 元素之间存在一对一或多对多的关系2. 栈(Stack)是一种后进先出(LIFO)的数据结构,以下哪个操作不是栈的基本操作?A. 入栈(Push)B. 出栈(Pop)C. 查看栈顶元素(Top)D. 排序(Sort)3. 在二叉树中,度为2的节点最多有多少个子节点?A. 1B. 2C. 3D. 44. 哈希表的冲突解决方法不包括以下哪项?A. 开放寻址法B. 链接法C. 线性探测法D. 冒泡排序法5. 图的遍历算法中,深度优先搜索(DFS)使用的是哪种数据结构来实现?A. 队列B. 栈C. 链表D. 树二、填空题(每空2分,共20分)6. 在链表中,每个节点通常包含数据部分和______。
7. 排序算法中,冒泡排序的时间复杂度为______。
8. 快速排序算法的平均时间复杂度为______。
9. 哈夫曼编码是一种______编码方法。
10. 在图的表示方法中,邻接矩阵适用于______图。
三、简答题(每题10分,共30分)11. 简述线性表和非线性表的区别。
12. 解释什么是二叉搜索树,并说明其特点。
13. 描述图的深度优先搜索(DFS)和广度优先搜索(BFS)的区别。
四、计算题(每题15分,共30分)14. 给定一个数组A = [3, 7, 5, 1, 9, 8],请使用选择排序算法对其进行排序,并给出排序过程中的每一步状态。
15. 假设有一个无向图,包含顶点A, B, C, D, E,边的权重如下:(A,B): 1, (B,C): 2, (C,D): 3, (D,E): 4, (A,E): 5。
请使用克鲁斯卡尔算法(Kruskal's algorithm)找到该图的最小生成树。
五、编程题(共10分)16. 编写一个函数,实现单链表的反转,并说明其时间复杂度。
数据结构复习习题和答案(DOC)

第一章绪论一、单项选择题1.数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和操作等的学科。
① A.操作对象 B.计算方法 C·逻辑存储 D.数据映象② A.结构 B.关系 C.运算. D.算法2.数据结构被形式地定义为(D,R),其中D是①的有限集合,R是D上的②有限集合。
① A.算法 B.数据元素 C.数据操作 D.逻辑结构② A.操作 B.映象 C、存储 D.关系3.在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构4·算法分析的目的是①,算法分析的两个主要方面是②。
① A. 找出数据结构的合理性 B.研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性② A. 空间复杂性和时间复杂性 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性5.计算机算法指的是①,它必具备输入、输出和②等五个特性。
① A. 计算方法 B.排序方法 C. 解决问题的有限运算序列 D.调度方法② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性 D.易读性、稳定性和安全性6. 线性表的逻辑顺序与存储顺序总是一致的,这种说法()。
A. 正确 B.不正确7. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址()。
A. 必须是连续的 B.部分地址必须是连续的C. 一定是不连续的D. 连续或不连续都可以8.数据结构通常是研究数据的()及它们之间的相互联系。
A.存储和逻辑结构 B.存储和抽象C.理想与抽象 D.理想与逻辑9.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为()。
A.存储结构 B.逻辑结构 C.顺序存储结构 D.链式存储结构11.非线性结构是数据元素之间存在一种()。
数据结构复习题及答案5篇

数据结构复习题及答案5篇第一篇:数据结构复习题及答案、数据结构复习题及答案中南大学现代远程教育课程考试(专科)复习题及参考答案数据结构一、判断题:1.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。
()2.链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。
()3.在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。
()4.折半搜索只适用于有序表,包括有序的顺序表和有序的链表。
()5.如果两个串含有相同的字符,则这两个串相等。
()6.数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。
()7.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。
()8.通常递归的算法简单、易懂、容易编写,而且执行的效率也高。
()9.一个广义表的表尾总是一个广义表。
()10.当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。
()11.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(h)。
()12.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。
()13.直接选择排序是一种稳定的排序方法。
()14.闭散列法通常比开散列法时间效率更高。
()15.有n个结点的不同的二叉树有n!棵。
()16.直接选择排序是一种不稳定的排序方法。
()17.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序比用锦标赛排序更快。
()18.当3阶B_树中有255个关键码时,其最大高度(包括失败结点层)不超过8。
()19.一棵3阶B_树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶非B_树。
()20.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。
《数据结构》复习题

《数据结构》复习题一.选择题:1.数据结构是研究数据的( ) 以及它们之间的相互关系A.理想结构,物理结构B.理想结构,抽象结构C.物理结构,逻辑结构D.抽象结构,逻辑结构2. 组成数据的基本单位是()A.数据项B.数据类型C. 数据元素D. 数据变量3. 如果某数据结构的数据元素的集合为S={A,B,C,D,E,F,G},元素之间的关系为R={<A,D>,<A,G>,<D,B>,<D,C>,<G,E>,<G,F>},则该数据结构是一种()A.线性结构B. 树结构C. 图结构D. 链表结构4. 线性表的链接实现有利于( ) 运算A.插入B.读表元C.查找D.定位5. 设一数列的输入顺序为1,2,3,4,5,6通过栈操作不可能排成的输出序列为()A. 3,2,5,6,4,1B. 1,5,4,6,2,3C. 2,4,3,5,1,6D. 4,5,3,6,2,16. 设字符串S1=‘ABCDEFG’,S2=‘PQRST’则运算S=Concat(Sub(S1,2,Length(S2)),Sub(S1,Length(S2),2))后结果为()A.‘BCQR’B.‘BCDEF’C.‘BCDEFG’D.‘BCDEFEF’7. 设单链表中指针P指向结点A,若要删除A之后的结点(若存在),则修改指针的操作为()A. p→next= p→next→nextB. p= p→nextC. p= p→next→nextD. p→next = p8. 线性表采用链式存储时,其地址()A. 必须是连续的B.部分地址必须是连续的C. 一定是不连续的D.连续与否均可以9. 在内部排序时,排序不稳定的有()A.插入排序B. 冒泡排序C. 快速排序D.归并排序10. 设有1000个元素,用折半法查找时,最小比较次数为()A.0B. 1C.10D. 50011. 将一个元素进入队列的时间复杂度是()n)A. O (1)B. O (n)C. O (n2)D. O (log212. 在一个具有n个结点的单链表中查找其值等x的结点,在查找成功的情况下,需要比较()个元素结点A. n/2B. nC. (n+1)/2D. (n-1)/213. 从一个长度为n的顺序表中删除第i个元素(1≤i≤n),需向前移动()个元素A. n-iB. n-i+1C. n-i-1D. i14. 总共3层的完全二叉树,其结点数至少有()A.3B. 4C.7D.815. 队列操作的原则是()A. 先进先出B.后进先出C. 只能进行插入D. 只能进行删除16. 若线性表最常用的操作是存取第i个元素及其前驱元素的值,则采用()存储方式最节省时间A.单链表B. 双向链表C. 音循环链表D. 顺序表17. 栈和队列都是()A. 顺序存储的线性结构B. 限制存取点的线性结构C. 链接存储的线性结构D. 限制存取点的非线性结构18. 与线性表的链接存储相符的特性是()A.插入和删除操作灵活B. 需要连续存储空间C. 便于随机访问D. 存储密度大19.若进队序列为1,2,3,则出队序列是()A.3,2,1B. 1,3,2C. 1,2,3D. 3,2,120. 在单向循环链表中,若头指针为h,那么p所指结点为尾结点的条件是()A. p= NULLB. p→next= NULLC. p=hD. p→next= h3. 在双向循环链表中,在指针P所指的结点之后插入指针f所指的结点,其操作为。
数据结构复习题

一、单项选择题1.评价一个算法时间性能的主要标准是()A.算法易于调试B. 算法易于理解C.算法的稳定性和正确性D.算法的时间复杂度2.可用带表头结点的链表来表示表,也可用不带表头结点的链表来表示表,前者的主要好处是()A.可以加快对表的遍历B.使空表和非空表的处理统一C.提高存取结点的速度D.节省存储空间3.稀疏矩阵一般的压缩存储有两种,即()。
A.一维数组和二维数组B.一维数组和三元组C.二维数组和十字链表D.三元组和十字链表4.链表不具有的特点是()。
A.可随机访问任一元素B.插入删除不需要移动元素C.不必事先估计存储空间D.所需空间与线性表的长度成正比5.非空的循环单链表head的尾结点p满足()。
A.P->next==NULL B.p==NULL C.P->next==head D.P==head 6.对稀疏矩阵进行压缩存储是为了()。
A.便于进行矩阵运算B.便于输入和输出C.节省存储空间D.降低运算的时间复杂度7.数据结构中,与所使用的计算机无关的是数据的()结构。
A.顺序B.物理C.逻辑D.物理和存储8.在长度为n的顺序表中插入一个元素时,等概率情况下的平均移动元素的次数是()。
A.(n-1)/2B.n/2C.n*(n-1)/2D.(n+1)/29.对于一个头指针为H的带头结点的单链表,判定该表为空表的条件是()A. H==NULL B.H!=NULL C.H→next ==H D.H→next==NULL10. 在一个顺序表中,若表的第一个元素的存储地址是210,每一个元素的长度为3,则第5个元素的存储地址是()。
A.219 B.222 C.225 D.22811. 栈S最多能容纳4个元素,现有6个元素按a,b,c,d,e,f的顺序进栈,下面序列()是可能的出栈序列。
A.edcbaf B.bcefad C.cbedaf D.adfebc12.循环队列用数组A[M]存放元素,已知其头尾指针分别为front和rear,则当前队列中的元素个数是()。
数据结构复习题(附答案)

数据结构复习题(附答案)1. 快速排序在最坏情况下的时间复杂度为( D )。
A.O(log2n) B.O(nlog2n) C.O (n) D. O (n2)2.设⼀棵⼆叉树的深度为k,则该⼆叉树中最多有( D )个结点。
A. 2k-1B. 2kC.2k-1D. 2k-13.⼆叉树中第i(i≥1)层上的结点数最多有( C )个。
A. 2iB. 2iC. 2i-1D. 2i-1 4.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为( A )。
A. p->next=p->next->nextB. p=p->nextC. p=p->next->nextD. p->next=p5.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,⼀个元素出栈后即进⼊队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量⾄少应该是( C )。
A. 6B. 4C. 3D. 26.设有以下四种排序⽅法,则( B )的空间复杂度最⼤。
A. 冒泡排序B. 快速排C. 堆排序D. 希尔排序7.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为( B )。
A. 3B. 4C. 5D. 18.根据⼆叉树的定义可知⼆叉树共有( B )种不同的形态。
A. 4B. 5C. 6D. 79.对⼀个算法的评价,不包括如下( A )⽅⾯的内容。
A.并⾏性 B.健壮性和可读性 C.正确性 D.时空复杂度10.在⼆叉排序树中插⼊⼀个结点的时间复杂度为( C )。
A.O(1) B.O(n) C.O(log2n) D.O(n2)11. 队列是⼀种( B )的线性表。
A.先进后出B.先进先出 C.只能插⼊D.只能删除12.采⽤开放定址法处理散列表的冲突时,其平均查找长度( C )。
A.低于链接法处理冲突 B. 与链接法处理冲突相同C.⾼于链接法处理冲突 D.⾼于⼆分查找13.设有序顺序表中有n个数据元素,则利⽤⼆分查找法查找数据元素X的最多⽐较次数不超过( A )。
(完整版)数据结构复习题(附答案)
一、算法设计题(每题15分,共60分)答题要求:①用自然语言说明所采用算法的思想;②给出每个算法所需的数据结构定义,并做必要说明;③写出对应的算法程序,并做必要的注释。
1、有一个带头结点的单链表,每个结点包括两个域,一个是整型域info,另一个是指向下一个结点的指针域next。
假设单链表已建立,设计算法删除单链表中所有重复出现的结点,使得info域相等的结点只保留一个。
3、约瑟夫环问题(Josephus问题)是指编号为1、2、…,n的n(n>0)个人按顺时针方向围坐成一圈,现从第s个人开始按顺时针方向报数,数到第m个人出列,然后从出列的下一个人重新开始报数,数到第m的人又出列,…,如此重复直到所有的人全部出列为止。
现要求采用循环链表结构设计一个算法,模拟此过程。
4、编程实现单链表的就地逆置。
23.在数组 A[1..n]中有n个数据,试建立一个带有头结点的循环链表,头指针为h,要求链中数据从小到大排列,重复的数据在链中只保存一个.5、设计一个尽可能的高效算法输出单链表的倒数第K个元素。
3、假设以I和O分别表示入栈和出栈操作。
栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。
(15分)(1)下面所示的序列中哪些是合法的?A. IOIIOIOOB. IOOIOIIOC. IIIOIOIOD. IIIOOIOO(2)通过对(1)的分析,写出一个算法,判定所给的操作序列是否合法。
若合法,返回true,否则返回false(假定被判定的操作序列已存入一维数组中)。
5、设从键盘输入一整数的序列:a1, a2, a3,…,an,试编写算法实现:用栈结构存储输入的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。
算法应对异常情况(入栈满等)给出相应的信息。
设有一个背包可以放入的物品重量为S,现有n件物品,重量分别为W1,W2,...,W n。
数据结构复习题及参考答案
《数据结构》课程复习资料一、填空题:1.设需要对5个不同的记录关键字进行排序,则至少需要比较________次,至多需要比较__________次。
2.设二叉排序树的高度为h,则在该树中查找关键字key最多需要比较_________次。
3.设在长度为20的有序表中进行二分查找,则比较一次查找成功的结点数有_________个,比较两次查找成功有结点数有_________个。
4.数据结构从逻辑上划分为三种基本类型:___________、__________和___________。
5.在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________条边。
6.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________。
7.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________,整个堆排序过程的时间复杂度为________。
8.在快速排序、堆排序、归并排序中,_________排序是稳定的。
9.在有n个叶子结点的哈夫曼树中,总结点数是_______。
10.一棵树T采用二叉链表存储,如果树T中某结点为叶子结点,则在二叉链表BT中所对应的结点一定_______。
11.3.已知数组A[10][10]为对称矩阵,其中每个元素占5个单元。
现将其下三角部分按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,6]对应的地址是_______。
12.在有n个结点的无向图中,其边数最多为_______。
13.取出广义表A=(x,(a,b,c,d))中原子x的函数是_______。
14.对矩阵采用压缩存储是为了___ ____。
15.带头结点的双循环链表L为空表的条件是_______。
16.设线性表中元素的类型是实型,其首地址为1024,则线性表中第6个元素的存储位置是。
17.对于顺序存储的栈,因为栈的空间是有限的,在进行运算时,可能发生栈的上溢,在进行运算时,可能发生栈的下溢。
数据结构复习题 有答案的打印版
一、选择题1.下面关于线性表的叙述中,错误的是哪一个?( B )A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
3.线性表是具有n个( C )的有限序列(n>0)。
A.表元素B.字符C.数据元素D.数据项E.信息项2.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( A )存储方式最节省时间。
A.顺序表B.双链表C.带头结点的双循环链表D.单循环链表3.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表4. 静态链表中指针表示的是( C ).A.内存地址B.数组下标C.下一元素地址D.左、右孩子地址5. 链表不具有的特点是( B )A.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性长度成正比1. 对于栈操作数据的原则是(B )。
A. 先进先出B. 后进先出C. 后进后出D. 不分顺序2. 有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( A )A. 5 4 3 6 1 2B. 4 5 3 1 2 6C. 3 4 6 5 2 1D. 2 3 41 5 63. 设栈的输入序列是1,2,3,4,则(D )不可能是其出栈序列。
A. 1,2,4,3,B. 2,1,3,4,C. 1,4,3,2,D. 4,3,1,2,E. 3,2,1,4,1. 已知数组A[0..9,0..9]的每个元素占5个存储单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,求A[6,8]的地址。
13402. 已知二维数组A[1..10,0..9]中每个元素占4个单元,在按行优先方式将其存储到起始地址为1000的连续存储区域时,求A[5,9]的地址。
数据结构复习题及答案
数据结构复习题及答案数据结构习题一、名词解释1.数据、数据元素、数据项、数据结构、数据的逻辑结构、数据物理结构、顺序存储、链式存储、算法、时间复杂度、空间复杂度。
2.线性表、顺序表、单链表、双向链表、循环链表、双向循环链表、三个概念的区别:头指针、头结点、首元结点(第1个元素结点)。
3.栈(顺序栈、链栈)、队列(顺序队、链队)、循环队列、递归、稀疏矩阵、三元组。
4.树、叶子结点、结点的度、树的度、树的高(深)度、二叉树、遍历、满二叉树、完全二叉树、哈夫曼树、WPL、哈夫曼编码。
5.图(有向、无向)、网、边、弧、度、入度、出度、完全图(有向、无向)、(强)连通图(分量)、(最小)生成树、邻接矩阵、邻接表、DFS、BFS。
6.查找表、关键字、静态查找、动态查找、ASL、顺序查找、折半查找、分块查找、二叉排序树。
7、排序、内(外)排序、稳定性、插入(直接、希尔),交换(起泡、快速),选择(直接、堆),2路归并。
一、填空题1.数据结构是研究数据的_逻辑结构__和___物理结构__,并在这种结构上定义相关的运算,设计实现这些运算的算法,分析算法的效率。
算法的效率包括时间和空间两个方面,分别称为___时间复杂度____和__空间复杂度___。
2.数据的基本单元是__数据元素__,数据的最小单元是__数据项_。
3.算法是对特定问题求解___步骤___的一种描述,是指令的有限序列。
4.一个算法的时间复杂度为(3n3+2n—7),其数量级表示为O(n3)_。
5.一个算法具有5个特性:确定性、可行性、有穷性、输入和输出。
6.算法机能的阐发和怀抱,能够从算法的工夫庞大度和空间庞大度来评判算法的好坏。
7.数据的逻辑布局包孕调集布局、线性布局、树形布局和图型布局四品种型。
8.数据布局在计较机中的表示称为数据的物理布局,它能够采用__按次存储___或__链式存储_两种存储方法。
9.线性表有两种存储布局,划分为按次存储和链式存储。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、假设以带头结点的单链表表示有序表,单链表的类型定义如下:
typedef struct node{
DataType data;
struct node *next
}LinkNode, *LinkList;
编写算法,从有序表A中删除所有和有序表B中元素相同的结点。
2.已知定长顺序串的数据类型描述如下:
#define MAXSIZE 100
typedef struct
{ char ch[MAXSIZE];
int len;
}SEQSTRING;
其中一个整型变量记录串的长度,用一组地址连续的存储单元存储串的字符序列。
编函数实现串连接,例如输入两串“abcd”和“gf”,则连接后输出abcdgf
3、已知带权图的邻接表如下所示,其中边表结点的结构为:
依此邻接表从顶点C出发进行深度优先遍历。
(1)画出由此得到的深度优先生成树;
(2)写出遍历过程中得到的从顶点C到其它各顶点的带权路径及其长度。
4、已知叶结点的权为圈中的值,请构建哈夫曼树。
画出构建过程。
5、摘苹果
一只聪明的猴子肩高100cm胳膊长50cm,一天他发现一棵长着n个苹果的果树(1<=n<32767),现已知每个苹果的高度h(从键盘上输入,1<=h<32767),但是它又发现旁边有一个30cm高的凳子可以利用。
问这只猴子最多能摘到多少个苹果,并将苹果的高度由大到小输出。
输入数据:包含2行,第一行为苹果总数,第二行为每个苹果的高度,中间用空格隔开。
输出数据:有两行,第一行为能摘到的苹果数目,第二行为能摘到的苹果高度(由大到小输出)。
输入样例:
5
100 50 600 800 179
输出样例:
3
179 100 50
填空:
1.数组A[1..5,1..6]每个元素占5个单元,将其按行优先次序存储在起始
地址为1000的连续的内存单元中,则元素A[5,5]的地址为1140 。
2.线性表采用链式存储时,结点的存储地址不一定连续。
3.若某链表最常用的操作是在最后一个结点之后插入一个结点删除最
后一个结点,则采用带头结点的双循环链表存储方式最节省时间。
4.在一个带头结点的单循环链表中,p指向尾结点的直接前驱,则指向
头结点的指针head可用p表示为head= (p->nexxt)->next 5.在双循环链表中,删除指针P所指结点的语句序列是
____p->prior->next=p->next;
p->next->prior=p->prior;___________。
6.将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂
度为 (m*n) 。
7.链表适用于顺序查找。
8.队列的插入操作在队尾进行,删除操作在队首
进行。
队和栈的主要区别是队先进先出,栈后进先出。
9.栈顶的位置是随着进栈和出栈操作而变化的。
10.一般判定栈空条件是if top=0 ,队列为空条件为if
front=rear 。
11.队列的特性是___先进先出___________________。
12.设循环队列中数组的下标范围是1-n,其头尾指针分别为f和r,则其
元素个数为(r+n-f)mod n 。
13.若用数组S[1..n]作为两个栈S1和S2的共同存储结构,对任何一个栈,
只有当S全满时才不能作入栈操作。
为这两个栈分配空间的最佳方案
是s1的栈底位置为1,s2的栈底位置为n 。
14.队列操作的原则是先进先出,栈操作的原则是
后进先出。
15.串的长度是串中字符的数目N称为串的长度。
16.若某串的长度小于一个常数,则采用___顺序_________存储方式最节
省空间。
17.在有n个结点的二叉链表中,值为非空的链域的个数为
n-1 。
18.已知一棵完全二叉树中共有768结点,则该树中共有 384 个叶
子结点。
19.一棵树按照左子女-右兄弟表示法转换成对应的二叉树,则该二叉树
中树根结点肯定没有____右____子女
20.在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为
1,则度为0的结点个数为 6 。
21.已知二叉树中叶子数为50,仅一个孩子的结点数为30,则总结点数
____129______。
22.一棵非空的二叉树的先序序列和后序序列正好相同,则该二叉树一定
满足只有根结点的二叉树。
某二叉树的中序序列和后序序列正好相反,则该二叉树一定是右子树的二叉树。
23.一棵左右子树均不空的二叉树在先序线索化后,其空指针域数为
1 。
24.对二叉树从1开始进行连续编号,要求每个结点的编号大于其左右孩
子的编号,同一个结点的左右孩子中,其左孩子的编号小于其右孩子的编号,则可采用后序遍历实现编号。
25.在有n个结点且为完全二叉树的二叉排序树中查找一个键值,其平均
比较次数的数量级为o(log 2 n) (log以2为底n的对数)。
26.有64个结点的完全二叉树的深度为7 (根的层次为
1)。
27.若对一棵完全二叉树从0开始进行结点的编号,并按此编号把它顺序
存储到一维数组A中。
其余类推,则A[ i ]元素的左孩子右孩子元素分别为_A[2i+1]和 A[2i+2]_______。
28.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为
n*n-2e .
29.在有n个叶子结点的哈夫曼树中,总结点数是
__n+(n-1)______________。
30.有n个顶点的连通图至少有__n-1______条边。
31.邻接矩阵的存储结构,就是用一维数组存储图中顶点的信息,用矩阵
表示图中各顶点之间的邻接关系。
32.设图G=(V,E),V={1,2,3,4}, E={<1,2>,<1,3>,<2,4>,<3,4>},从顶
点1出发,对图G进行广度优先搜索的序列有__2______种。
33.求最短路径的FLOYD算法的时间复杂度为_ n的立方
_______________。
34.带权有向图G用邻接矩阵A存储,则顶点i的入度等于第i列
非0个数,出度为第i行非0个数。
35.在有序表A[1..18]中,采用二分查找算法查找元素值等于A[7]的元
素,所比较过的元素的下标依次为__9,4,6,7____________。
36.排序算法中,插入排序在某趟结束后不一定选出一个元素放
到其最终的位置上。
37.直接选择排序算法在最好情况下所作的交换元素的次数为
___n-1______。
38.如果一个对象部分地包含自己,或自己定义自己,则称这个对象是___
递归______的对象。
39.每次直接或通过基准元素间接比较两个元素,若出现逆序排列就交换
它们的位置,这种排序方法叫做_交换_________排序。
40.用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,
进行排序时,序列的变化情况如下:
20,15,21,25,47,27,68,35,84
15,20,21,25,35,27,47,68,84
15,20,21,25,27,35,47,68,84则所采用的排序方法是快速 .
1. 常用的正则表达式模式:
用户名和密码^[a-zA-Z]\w{5,19}$
这表示以字母开头,长度在6-20之间,只含字母、数字、下划线。
6位邮政编码^[0-9]{6}$
电话号码^[0-9]{3,4}-[0-9]{7,8}$
18位身份证^[0-9]{6}[12] [0-9]{3}[01][0-9][0123][0-9][0-9]{4}$
E-mail地址^.{1,}@.{1,}\.[a-zA-Z]{2,3}$
url网址^http://\s+\.\s+$
或^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?
只包含汉字^[\u4e00-\u9fa5]{1,}$
从\u4e00到-\u9fa5之间的unicode字符都是汉字。
检查长度^.{0,20}$ 表示0到20个除换行符以外的任意字符小数^[-+]?\d+(\.\d+)?$
年龄^(1[0-3]\d|\d{1,2})$ 表示大于0小于140岁
货币^\d+\.\d{2}$
货币格式的数据要求有且只有两位小数,不能省略小数
短日期^([1-2]\d{3}|[0-9]{3})-[0-1]*[0-9]-[0-3]*[0-9]$
这表示如2005-5-1之类的日期,但小于2999-1-1。