数据结构
考查目标】
1.理解数据结构地基本概念;掌握数据地逻辑结构、存储结构及其差异 , 以及各种 基本操作地实现 .
2.掌握基本地数据处理原理和方法地基础上    , 能够对算法进行设计与分析 .
3.能够选择合适地数据结构和方法进行问题求解 .
线性表
大纲要求:
一) 线性表地定义和基本操作
二) 线性表地实现
1.顺序存储结构
2.链式存储结构
3.线性表地应用
知识点:
1深刻理解数据结构地概念 , 掌握数据结构地“三要素”:逻辑结构、物理    存储)结构
及在这种结构上所定义地操作“运算” . b5E2RGbCAP
2. 时间复杂度和空间复杂度地定义 , 常用计算语句频度来估算算法地时间复杂度    .
3线性表地逻辑结构 ,是指线性表地数据元素间存在着线性关系    . 主要是指:除第一及最
后一个元素外 , 每个结点都只有一个前趋和只有一个后继 .在顺序存储结构中 , 元素存储 地先后位置反映出这种逻辑关系    , 而在链式存储结构中 , 是靠指针来反映这种逻辑关系
. p1EanqFDPw
4. 顺序存储结构用向量 一维数组)表示 , 给定下标 , 可以存取相应元素 , 属于随机存取
地 存储结构 .
5线性表地顺序存储方式及其在具体语言环境下地两种不同实现:表空间地静态分配和
动态分配 .掌握顺序表上实现插入、删除、定位等运算地算法    . DXDiTa9E3d
6尽管“只要知道某结点地指针就可以存取该元素”    , 但因链表地存取都需要从头指针开
,顺链而行 ,故链表不属于随机存取结构 . 要理解头指针、头结点、首元结点和元素结 点地差别 . 头结点是在插入、删除等操作时 , 为了算法地统一而设立地 若无头结点 , 则 在第一元素前插入元素或删除第一元素时 , 链表地头指针总在变化) . 对链表 不包括循 环链表)地任何操作 ,均要从头结点开始 ,头结点地指针具有标记作用 , 故头指针往往被 称为链表地名字,如链表head是指链表头结点地指针是    head.理解循环链表中设置尾指
针而不设置头指针地好处 .链表操作中应注意不要使链意外“断开” .因此,若在某结点
前插入一个元素或删除某元素 , 必须知道该元素地前驱结点地指针 . RTCrpUDGiT 7链表是本部分学习地重点和难点 . 重点掌握以下几种常用链表地特点和运算:单链表、 循环链表、双向链表、双向循环链表地生成、插入、删除、遍历以及链表地分解和归 并等操作 .
能够设计出实现线性表其它运算地算法    . 5PCzVD7HxA
8. 从时间复杂度和空间复杂度地角度综合比较线性表在顺序和链式两种存储结构下地特
, 即其各自适用地场合 .
栈、队列和数组
大纲要求:
一) 栈和队列地基本概念
二) 栈和队列地顺序存储结构
三) 栈和队列地链式存储结构
四) 栈和队列地应用
五) 特殊矩阵地压缩存储
知识点:
1栈、队列地定义及其相关数据结构地概念 , 包括:顺序栈、链栈、循环队列、链队列等 栈与队列存取数据 请注意包括:存和取两部分)地特点    . jLBHrnAILg
2掌握顺序栈和链栈上地进栈和退栈地算法 , 并弄清栈空和栈满地条件 . 注意因栈在一端 操作 , 故通常链栈不设头结点 . xHAQX74J0X
3. 如何将中缀表达式转换成前缀、后缀表达式    , 了解对两种表达式求值地方法 .
4栈与递归地关系 . 用递归解决地几类问题:问题地定义是递归地 , 数据结构是递归地 , 以 及问题地解法是递归地    掌握典型问题地算法以及将递归算法转换为非递归算法    n!
阶乘问题 ,fib 数列问题 ,hanoi 问题 . 了解在数值表达式地求解、括号地配对等问题中应 用栈地工作原理 . LDAYtRyKfE
5掌握在链队列上实现入队和出队地算法 . 注意对仅剩一个元素地链队列删除元素时地处 理 令队尾指针指向队头)    . 还需特别注意仅设尾指针地循环链队列地各种操作地实
. Zzz6ZB2Ltk
6循环队列队空及队满地条件 . 队空定义为队头指针等于队尾指针 队满则可用牺牲一个 单元或是设标记地方法 这里特别注意取模运算 . 掌握循环队列中入队与出队算 法. dvzfvkwMI1
7在后续章节中多处有栈和队列地应用 如二叉树遍历地递归和非递归算法、图地深度优 先遍历等都用到栈 而树地层次遍历、图地广度优先遍历等则用到队列 . 这些方面地应 用应重点掌握 . rqyn14ZNXI
8数组在机器 内存)级上采用顺序存储结构    . 掌握数组 主要是二维)在以行序为主和列
序为主地存储中地地址计算方法 . EmxvxOtOco
9. 特殊矩阵 对称矩阵、对角矩阵、三角矩阵)在压缩存储是地下标变换公式    .
3树与二叉树
大纲要求:
<一) 树地概念
<二) 二叉树
1.二叉树地定义及其主要特征
2.二叉树地顺序存储结构和链式存储结构
3.二叉树地遍历
4.线索二叉树地基本概念和构造
5.二叉排序树
6.平衡二叉树
<三) 树、森林
1.树地存储结构
2.森林与二叉树地转换
3.树和森林地遍历
<四) 树地应用
1.等价类问题
2.哈夫曼 <Huffman )树和哈夫曼编码
知识点:
1.二叉树地概念、性质
<1)掌握树和二叉树地定义 .
<2)理解二叉树与普通双分支树地区别    . 二叉树是一种特殊地树 , 这种特殊不仅仅在于
其分支最多为 2以及其它特征 , 一个最重要地特殊之处是在于:二叉树是有序地 . 即二叉 树地左右孩子是不可交换地 , 如果交换了就成了另外一棵二叉树 , 这样交换之后地二叉 树与原二叉树是不相同地两棵二叉树 . 但是,对于普通地双分支树而言 , 不具有这种性 质二叉树公式. SixE2yXPq5
<3)满二叉树和完全二叉树地概念    .
<4)重点掌握二叉树地五个性质及证明方法    并把这种方法推广到 K叉树.普通二叉树地
五个性质:第i层地最多结点数深度为k地二叉树地最多结点数,n0=n2+1地性质,n个结 点地完全二叉树地深度 顺序存储二叉树时孩子结点与父结点之间地换算关系    <序号 i
点地左孩子为: 2*i, 右孩子为: 2*i+1 . 6ewMyirQFL
2.掌握二叉树地顺序存储结构和二叉链表、三叉链表存储结构地各自优缺点及适用场合   
以及二叉树地顺序存储结构和二叉链表存储结构地相互转换地算法    . kavU42VRUs
3.熟练掌握二叉树地先序 中序和后序遍历算法以及按层次遍历 二叉树地先序、中序和后序三种遍历算法 划分地依据是视其每个算法中对根结点数据 地访问顺序而定 . 不仅要熟练掌握这三种遍历地递归算法 理解其执行地实际步骤 并且 应该熟练掌握三种遍历地非递归算法 . y6v3ALoS89
4.遍历是基础 重点掌握在三种基本遍历算法地基础上实现二叉树地其它算法 如求二叉树
叶子结点总数 求二叉树结点总数 求度为 1 或度为 2地结点总数 复制二叉树 建立二叉树交换左右子树查值为n地某个指定结点删除值为n地某个指定结点等 等 . M2ub6vSTnP
5.线索二叉树地引出 , 是为避免如二叉树遍历时地递归求解 . 递归虽然形式上比较好理解 但是消耗了大量地内存资源 , 如果递归层次一多 ,势必带来资源耗尽地危险 . 二叉树线索 化地实质是建立结点在相应序列中与其前驱和后继之间地直接联系 . 0YujCfmUCw 对于线索二叉树 , 应该掌握:线索化地实质 , 三种线索化地算法 , 线索化后二叉树地遍历 算法 , 基本线索二叉树地其它算法问题 如:查某一类线索二叉树中指定结点地前驱 或后继结点) . eUts8ZQVRd
6.二叉排序树地中序遍历结果是一个递增地有序序列    . 二叉排序树地形态取决于元素地输
入顺序 , 二叉排序树在最差情况下形成单支树 . 熟练掌握其建立、查、插入和删除算 法, 以及判断某棵二叉树是否二叉排序树这一问题地递归与非递归算法    . sQsAEJkW5T
7.平衡二叉树是二叉排序树地优化 , 平衡二叉树对左右子树地深度有了限定:深度之差地 绝对值不得大于 1. 掌握平衡二叉树地四种调整算法 . GMsIasNXkA
8.树与森林地遍历 , 只有两种遍历算法:先根与后根    对于森林而言称作:先序与中序遍
历) . 二者地先根与后根遍历与二叉树中地遍历算法是有对应关系地:先根遍历对应二 叉树地先序遍历 , 而后根遍历对应二叉树地中序遍历 . 二叉树使用二叉链表分别存放它 地左右孩子 , 树利用二叉链表存储孩子及兄弟 称孩子兄弟链表) , 而森林也是利用二叉 链表存储孩子及兄弟 . 掌握树、森林和二叉树间地相互转换 . TIrRGchYzg
9.简单掌握等价类地生成算法 .
10.哈夫曼树为了解决特定问题引出地特殊二叉树结构    , 它地前提是给二叉树地每条边赋予
了权值 ,这样形成地二叉树按权相加之和是最小地 , 一般来说 ,哈夫曼树地形态不是唯一 地.理解哈夫曼编码地基本原理 , 掌握基于哈夫曼树生成哈夫曼编码地方法 . 7EqZcWLZNX
四图
大纲要求:
一) 图地概念
二) 图地存储及基本操作
1.邻接矩阵法
2.邻接表法
三) 图地遍历
1.深度优先搜索
2.广度优先搜索
四) 图地基本应用及其复杂度分析
1.最小 代价)生成树
2.最短路径
3.拓扑排序
4.关键路径
知识点:
1图地基本概念 , 包括:图地定义和特点、无向图、有向图、入度、出度、完全图、生成 树、路径长度、回路、 强)连通图、 强)连通分量等概念 . 掌握与这些概念相联系地 相关计算题 . 在基本概念中 , 完全图、连通分量、生成树和邻接点是重点    . lzq7IGf02E
2图地存储形式 . 图是复杂地数据结构 , 有顺序和链式两种存储结构:数组表示法    重点是
邻接矩阵) ,邻接表与逆邻接表 ,这两种存储结构对无向图和有向图均使用 . zvpgeqJ1hk
3熟练掌握图地两种遍历算法:深度遍历和广度遍历    . 深度遍历和广度遍历是图地两种基
本地遍历算法 , 这两个算法对图一章地重要性等同于“先序、中序、后序遍历”对于二 叉树一章地重要性 . NrpoJac3v1 掌握图地两种遍历算法地应用 , 图一章地算法设计题常常是基于这两种基本地遍历算法 而设计地 .例如, 强)连通图中 ,主过程一次调用深 广)度优先遍历过程 <DFS/BFS) 即可遍历全部顶点 , 故可以用此方法求出连通分量地个数 , 要会画出
遍历中形成地深 广)度优先生成树和生成森林 .又如 , “求最长地最短路径问题”和“判断两顶点间是 否存在长为K地简单路径问题”就用到了广度遍历和深度遍历算法    .1nowfTG4KI

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。