数据结构面试题知识点汇总

1、用链表表示线性表的优点是(便于插入和删除操作)

2、单链表中,增加头结点的目的是(方便运算的实现)

3、栈和队列的共同特点是(只允许在端点处插入和删除元素)

4、栈通常采用的两种存储结构是(线性存储结构和链表存储结构)

5、队列具有(先进先出)的特征,栈具有(后进先出)的特征。

6、链表(插入和删除不需要移动元素,但是无法随机访问任一元素)

7、循环链表的主要优点是(从表中任一结点出发都能访问到整个链表)

8、线性表(除了第一个和最后一个元素外,其余每个元素都有一个直接前驱和直接后继)

9、线性表的顺序存储结构和线性表的链式存储结构分别是(随机存取的存储结构、顺序存取的存储结构)

10、深度为5的满二叉树中,叶子结点的个数为(16)。其共有(31)个结点。

       设一棵完全二叉树共有699个结点。则该二叉树的叶子结点数为(350)个。 

             #完全二叉树总的结点数为N,若N为奇数,则叶子结点数为(N+1)/2;若N为偶数,则叶子结点数为N/2。

11、具有3个结点的二叉树有(5)种形态。 #高度为2层的是:根-左-右。高度为3层的是:根-左-左、根-左-右、根-右-右、根-右-左。

12、一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为(13)个。

      #叶子结点数n0与度为2的结点数n2的关系是:n0=n2+1,所以度为2的结点个数为3-1=2。所以总的结点数为 n=n0+n1+n2, 8+2+3=13.

13、已知二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是(cedba)。#过程见文章:点击打开链接

14、已知二叉树的前序遍历序列是abdgcefh,中序遍历序列是dgbaechf,它的前序遍历序列是(gdbehfca)。

15、算法是指(解决方案的准确而完整的描述)。

16、算法由(顺序、选择、循环)控制结构组合而成。

17、算法的时间复杂度是指(算法执行过程中所需要的基本运算次数)。

18、算法的空间复杂度是指(执行过程中所需要的存储空间)。

19、算法分析的目的是(分析算法的效率以求改进)。

20、数据的存储结构是指(数据的逻辑结构在计算机中的表示)。

21、数据的逻辑结构是指(反映数据元素之间逻辑关系的数据结构)。

22、根据数据结构中各元素之间前后件关系的复杂程度,可将数据结构分为(线性结构和非线性结构)。

线性结构一般是首无前驱,尾无后继,中间元素有唯一的前驱和后继。主要有:列表、链表、队列、栈。

非线性结构主要有1、没有对应关系的 集合。2、一对多关系的 树。3、多对多关系的 图。

23、(队列,循环队列,顺序表)不具有记忆功能,(栈)具有记忆功能。

24、递归算法一般需要用(栈)来实现。

#在递归算法的运行过程中,需要利用栈来保存其运算结果、参数和返回地址等。

25、算法的五个基本特征是:可行性,确定性,和拥有足够的情报

有限性:算法在执行有限步后必须终止。

确定性:算法的每个步骤都需要精确地定义,严格地、无歧义的运行。

输入:算法在运行之前赋给它的量。

输出:算法运行结束时的结果。

         可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。
26、由两个栈共享一个存储空间的好处是(节省存储空间,降低上溢发生的概率)。
       为了不发生上溢错误,就必须给每个栈分配一个足够大的存储空间。但实际中,很难准确地估计,若每个栈都分配过大的存      储空间,势必造成系统空间紧张;若让多个栈共用一个足够大的连续存储空间,则可利用栈的动态特性使它们的存储空间互补

27、需要打印机输出数据时,一般将打印作业放在一个(队列)中。

28、非空的循环单链表head的尾结点(由 所指向) ,满足p->next=head )。

29、与单链表相比,双向链表的优点是(更容易访问相邻结点)。

30、






猜你喜欢

转载自blog.csdn.net/qq_34840129/article/details/80781829