下面我们来解析一下知识点。
线性表这一章里面的知识点不多,但要做到深刻理解,能够应用相关知识点解决实际问题。链表上插入、删除节点时的指针操作是选择题的一个常考点,诸如双向链表等一些相对复杂的链表上的操作也是可以出现在综合应用题当中的。
栈、队列和数组可以考查的知识点相比链表来说要多一些。最基本的,是栈与队列filo和fifo的特点。比如针对栈filo的特点,进栈出栈序列的问题常出现在选择题中。
其次,是栈和队列的顺序和链式存储结构,这里一个常考点是不同存储结构下栈顶指针、队首指针以及队尾指针的操作,特别是循环队列判满和判空的2种判断方法。再次,是特殊矩阵的压缩存储,这个考点复习的重点可以放在二维矩阵与一维数组相互转换时,下标的计算方法,比如与对角线平行的若干行上数据非零的矩阵存放在一维数组后,各个数据点相应的下标的计算。这一章可能的大题点,在于利用堆栈或队列的特性,将它们作为基础的数据结构,支持实际问题求解算法的设计,例如用栈解决递归问题,用队列解决图的遍历问题等等。
树和二叉树。这一章中我们从顺序式的数据结构,转向层次式的数据结构,要掌握树、二叉树的各种性质、树和二叉树的不同存储结构、森林、树和二叉树之间的转换、线索化二叉树、二叉树的应用(二叉排序树、平衡二叉树和huffman树),重点要熟练掌握的,是森林、树以及二叉树的前中后三种遍历方式,要能进行相应的算法设计。这一部分是数据结构考题历来的重点和难点,复习时要特别关注。
一些常见的选择题考点包括:满二叉树、完全二叉树节点数的计算,由树、二叉树的示意图给出相应的遍历序列,依据二叉树的遍历序列还原二叉树,线索化的实质,计算采用不同的方法线索化后二叉树剩余空指针域的个数,平衡二叉树的定义、性质、建立和四种调整算法以及回溯法相关的问题。常见的综合应用题考点包括:
二叉树的遍历算法,遍历基础上针对二叉树的一些统计和操作(比如结点数统计、左右子树对换等等),判断某棵二叉树是否二叉排序树,以上这些都要求能用递归的和非递归的算法解决,特别要重视非递归的算法,线索化后二叉树的遍历算法,如查找某结点线索化后的前驱或后继结点的算法以及给出huffman编码等等。
图。在这一章中需要识记的是图以及基于图的各种定义,存储方式。要熟练掌握图的深度遍历和广度遍历算法,这是用图来解决应用问题时常用的算法基础。
需要掌握基于图的多个算法,能够以手工计算的方式在一个给定的图上执行特定的算法求解问题。常见的应用问题直接给出或经过抽象,会成为下列问题:最小生成树求解(prim算法和kruskal算法,两种方法思想都很简单,但要注意不要混淆这两种方法),拓扑排序问题(这里会用到数组实现的链表,可以注意一下),关键路径问题(数据结构的较大难点,要把概念理解透,能做出**找出关键路径),最短路径问题(有重要的应用背景,也是贪心法不多的能给出最优解的典型问题之一)。
查找。这一章,需要识记关键字、主关键字、次关键字的含义;静态查找与动态查找的含义及区别;平均查找长度asl的概念念及在各种查找算法中的计算方法和计算结果,特别是一些典型结构的asl值,b-树的概念和基本操作冲突解决方法的选择和冲突处理过程的描述,b+树的概念(新增考点),特别要注意b-树和b+树概念的对比,以及hash表相关的概念。要熟练掌握顺序表、链表、二叉树上的查找方法,特别要注意顺序查找、二分查找的适用条件(比如链表上用二分查找就不合适)和算法复杂度。
排序。2012最新的大纲将去年的内部排序范围扩展为排序,排序既是重点,又是难点。排序算法众多,今年大纲还加上了外部排序,总共10种,各种不同算法还有相应的一些概念定义需要记住。
选择题常见的问题包括:给定数列要求给出某种特定排序方法运行一轮后的排序结果,或者给出初始数列和一轮排序结果要求选择采用的排序算法,给定时间、空间复杂度要求以及数列特征要求选择合适的排序算法等等。如果排序这一考点出现在综合应用题中则常与数组结合来考查。
参考书建议大家用清华严蔚民版的,有助于建立知识体系,并且讲的比较通透。数据结构的复习要紧扣参考书,把书认真看几遍,深入理解大纲相关的知识点。
数据结构2019级数据结构大作业
2011级数据结构大作业。1 公园导游图。给出一张某公园的导游图,用图的顶点表示各个景点 景点个数大于等于30 每个景点有属性值 h,t,c 其中h表示游览完成这个顶点给游客带来的happiness,t表示游览这个景点需要的时间,c表示游览这个景点需要的费用,顶点之间的边表示路径 边具有属性值w,表...
2019数据结构试卷A
哈尔滨工程大学试卷。考试科目 数据结构a 卷。一 单项选择题 每空1分,共15分 1 以下数据结构中,从逻辑结构看,和其他数据结构不同。a 树b 顺序表 c 链队列d 循环队列。2 对于链式存储的线性表,查找结点和删除结点的时间复杂度为 a o n o n b o n o 1 c o 1 o n d...
数据结构2019辅导
一 简单题 1 在单链表中,头结点是必不可少的?2 链队列q为空的条件是什么?3 如果一个二叉树中没有度为1的结点,它是不是完全二叉树?4 具有n个顶点和n 1条边的无向连通图是否存在环路?5 判断一个有向图是否存在回路的方法有哪些?6 在一棵二叉排序树t中,先插入结点n,然后再删除结点n,得到的新...