介绍一下数据结构的考试分值及题型
- 数据结构:考试总分:90分
题型:选择题(30分)判断题(10分)填空题(10分)计算题(30分)算法题(10分)
选择题15个,每个2分。判断题10个,填空题10个
计算题:树7分、图7分、哈希表8分、排序8分
树:先序中序后序,画树,画线索二叉树。构造平衡二叉树。求哈夫曼树。
图:普利姆算法、克鲁斯卡尔算法求最小生成树。深度广度优先搜索。
哈希表:线性探测法。平方探测法。
排序:快速排序。堆排序。归并排序。希尔排序。
这篇讲解树专题的第一个题型
先序中序后序
这道题目是期末题一里的:
3、一棵二叉树的中序序列是DCEFBHGAKJLIM,后序序列是DFECHGBKLJMIA,请画出该二叉树的先序线索二叉树。
接下来是解题步骤:
中序DCEFBHGAKJLIM 左中右
后序DFECHGBKLJMIA 左右中
看到这种题目先找根节点,看后序,根是A,然后在中序里找到A。
在中序里可以根据A分出DCEFBHG在左,KJLIM在右。
先看A左边的DCEFBHG中序 DFECHGB后序
同样的流程,先看根,可以看出是B,左边是DCEF,右边是HG
再看B左边的DCEF 中序 DFEC 后序
根是C,左边是D,右边是EF,分到这可以直接画出来了。
接下来就是一步一步往回画。根C画完,退到根B
如此类推就可以得到答案:
线索二叉树就是把序列排出来以后,每一个节点如果没有左孩子,就指向序列中左边的节点(字母)。如果没有右孩子,就指向右边的(字母)。如果没有左/右孩子,序列里也没有左右字母,就指向空,写上NULL。
这道题先序二叉树,先写出先序序列ABCDEFGHIJKLM,ABC都有左右孩子,所以看到D,左右孩子都没有,所以左边指向上一个字母C,右边指向下一个字母E。接着看到E,没有左孩子,所以左边指向D,有右孩子所以不指向F。。。。。。最后看到M,左边指向L,右边没有字母了,所以指向空。