经典数据结构面试题含答案
栈和队列的共同特点是__________________________ .栈通常采用的两种存储结构是______________________ .用链表表示线性表的优点是_______________________ 8.在单链表中,增加头结点的目的是___________________ 9.循环链表的主要优点是________________________- 12.线性表的顺序存储结构和线性表的链式存储结构分别是__________________________ 13.树是结点的集合,它的根结点数目是_____________________ 14.在深度为 5 的满二叉树中,叶子结点的个数为_______________ 15.具有 3 个结点的二叉树有(_____________________ 16.设一棵二叉树中有 3 个叶子结点,有 8 个度为 1 的结点,则该二叉树中总的结点数 为____________________ 17.已知二叉树后序遍历序列是dabec,中序遍历序列是 debac,它的前序遍历序列是 ____________________________ 18.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH 和 DBGEACHF,则该二叉树 的后序遍历为______________________ 19.若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其 后序遍历的结点访问顺序是_______________________ 20.数据库保护分为:安全性控制、 完整性控制 、并发性控制和数据的恢复。 在计算机中,算法是指_______________________ 算法一般都可以用哪几种控制结构组合而成_____________________ .算法的时间复杂度是指______________________ 5. 算法的空间复杂度是指__________________________ 6. 算法分析的目的是__________________________ Word资料. 11. 数据的存储结构是指_________________________ 12. 数据的逻辑结构是指(_______________________________ 13. 根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为 __________________________________ 16. 递归算法一般需要利用_______________________实现。 28. 非空的循环单链表 head 的尾结点(由 p 所指向) ,满足(_____________________ 29.与单向链表相比,双向链表的优点之一是____________________________-- 34. 在一棵二叉树上第 8 层的结点数最多是____________ 35. 在深度为 5 的满二叉树中,叶子结点的个数为____________\ 36. 在深度为 5 的满二叉树中,共有________________个结点 37.设一棵完全二叉树共有699个结点, 则在该二叉树中的叶子结点数为_________________ 说明:完全二叉树总结点数为 N,若 N 为奇数,则叶子结点数为(N+1)/2;若 N 为 偶数,则叶子结点数为 N/2。 39.已知二叉树后序遍历序列是dabec,中序遍历序列 debac,它的前序遍历序列是 (cedba) 40. 已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH 和 DBGEACHF,则该二叉 树的后序遍历为(DGEBHFCA) 41.若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其 后序遍历的结点访问顺序是(gdbehfca) 42. 串的长度是(串中所含字符的个数) 43.设有两个串 p 和 q,求 q 在 p 中首次出现位置的运算称做(模式匹配) 44. N 个顶点的连通图中边的条数至少为(N-1) 45.N 个顶点的强连通图的边数至少有(N) 46.对长度为 n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为(N) 47. 最简单的交换排序方法是(冒泡排序) 48.假设线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为(n(n-1)/2) 49. 在待排序的元素序列基本有序的前提下,效率最高的排序方法是(冒泡排序) Word资料. 50. 在最坏情况下,下列顺序方法中时间复杂度最小的是(堆排序) 51. 希尔排序法属于(插入类排序) 52. 堆排序法属于(选择类排序) 53. 在下列几种排序方法中,要求存量最大的是(归并排序) 54. 已知数据表 A 中每个元素距其最终位置不远, 为节省时间, 应采用 (直接插入排序) 55. 算法的基本特征是可行性、确定性、 有穷性和拥有足够的情报。 一个算法通常由两种基本要素组成: 一是对数据对象的运算和操作, 二是算法的控制结 构。 1. 算法的复杂度主要包括时间复杂度和 空间 复杂度。 2. 实现算法所需的存储单元多少和算法的工作量大小分别称为算法的空间复杂度和时 间复杂度 。 3.所谓数据处理是指对数据集合中的各元素以各种方式进行运算,包括插入、删除、查 找、更改等运算,也包括对数据元素进行分析。 4.数据结构是指相互有关联的 数据元素 的集合。 5.数据结构分为逻辑结构与存储结构,线性链表属于 存储结构 。 6.数据结构包括数据的 逻辑 结构和数据的存储结构。 7. 数据结构包括数据的逻辑结构、数据的 存储结构 以及对数据的操作运算。 8.数据元素之间的任何关系都可以用 前趋和后继 关系来描述。 9.数据的逻辑结构有线性结构和非线性结构两大类。 10.常用的存储结构有顺序、 、 索引 等存储结构。 11. 顺序存储方法是把逻辑上相邻的结点存储在物理位置相邻 的存储单元中。 12. 栈的基本运算有三种:入栈、退栈与读栈顶元素 。 13. 队列主要有两种基本运算:入队运算与 退队运算 。 14. 在实际应用中,带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,这 种带链的栈称为 可利用栈 。 Word资料. 15.栈和队列通常采用的存储结构是 链式存储和顺序存储。 16.当线性表采用顺序存储结构实现存储时,其主要特点是 逻辑结构中相邻的结点在存 储结构中仍相邻 。 17. 循环队列主要有两种基本运算:入队运算与退队运算。每进行一次入队运算,队尾 指针就 进 1 。 18.当循环队列非空且队尾指针等于对头指针时,说明循环队列已满,不能进行入队运 算。这种情况称为 上溢。 19.当循环队列为空时,不能进行退队运算,这种情况称为 下溢 。 20. 在一个容量为 25 的循环队列中,若头指针front=16,尾指针 rear=9,则该循环队 列中共有 18 个元素。注:当 rearfront 时,元素个数=rear-front。 5.下列关于栈的叙述正确的是(D) A.栈是非线性结构 B.栈是一种树状结构 C.栈具有先进先出的特征D.栈有后进先出的 特征 6.