文档介绍:算法与数据结构各章学习要点第1章概论一、学习要点:熟练掌握各基本概念:数据、数据元素、数据项、数据结构、逻辑结构、存储结构、顺序存储结构、链式存储结构的定义。掌握逻辑结构、存储结构的基本分类。掌握算法的基本特性理解算法效率的评价指标(时间复杂度、空间复杂度),能够评价简单算法的时间复杂度。二、作业练习:P10:一、二、三。第2章线性表一、学习要点:掌握线性结构的特点、线性表的定义,理解线性表的基本术语:表长、空表、直接前驱、直接后继。掌握顺序表的定义和特点,掌握顺序表中第i个元素的地址计算公式能够用C语言描述顺序表的类型并熟练应用,熟练掌握顺序表的基本运算及实现:初始化、插入、删除、按值查找。掌握链表的定义,理解:头指针、头结点、首元结点(第一结点)的区别。能够用C语言描述单链表结点类型并熟练应用,熟练掌握单链表的基本运算及实现:建立(头部建立、尾部建立)、求表长、查找(按序号查找、按值查找)、插入、删除。理解循环链表、双向链表的算法实现特点。掌握顺序表和链表存储结构的比较。能够运用顺序表和单链表、循环单链表进行算法设计。二、作业练习:P41:一、二、三(1,3,4)第3章栈与队列一、学习要点:掌握栈的定义和特点,掌握栈的基本术语:栈顶、栈底、空栈。能够根据栈的特点,描述同一输入下的不同输出顺序。能够用C语言描述顺序栈结点类型并熟练应用,掌握顺序栈的基本运算及实现:置空栈、判栈空、入栈、出栈、取栈顶元素。掌握队列的定义和特点,掌握队列的基本术语:队头、队尾,掌握循环队列的目的。理解循环队列区分队满和队空的方法,能够根据解决的方法设计数据结构,并实现循环队列的基本运算:置空队、入队、出队、判队空、判队满、求队列的长度。能够利用栈和队列结构设计算法。二、作业练习:P64一、二、三(2,3)第4章串一、学习要点:掌握串的定义和特点,掌握串的基本术语:串长、子串、主串、子串的位置、串相等、空串和空格串。掌握串模式匹配的定义,掌握KMP模式匹配的思想及next函数值的计算方法。二、作业练习:P77:一、二、三第5章数组和广义表掌握数组逻辑结构的特点以及通常做的操作。掌握二维数组存储地址计算。能够进行能够特殊矩阵压缩存储地址计算公式的推导。掌握稀疏矩阵的三元组表示。掌握广义表以及表头、表尾的定义。二、作业练习:P89:一、二、三(1,2)第6章树和二叉树一、学习要点:掌握二叉树的定义,熟悉二叉树的五种基本形态。掌握树、二叉树的基本术语:结点的度、树的度、叶结点、分枝结点、孩子、兄弟、双亲、深度、层次、满二叉树、完全二叉树。掌握二叉树的性质以及相应的证明方法。掌握二叉树的顺序存储、二叉链表存储,能够绘制示意图。能够熟练运用二叉链表的存储结构,掌握二叉树递归遍历算法,能够给出遍历结果。能够利用二叉树的先序遍历进行二叉树的各种算法设计。掌握由前序序列(或后序序列)和中序序列可唯一确定该二叉树的方法。掌握由前序序列构造二叉树的方法,能够进行算法实现。掌握线索、线索二叉树的定义,并能将二叉树转换为线索二叉树(示意图)。掌握哈夫曼树的定义,能够根据给定的权值图示哈夫曼树构造过程并进行哈夫曼编码,并计算WPL。掌握树的定义,能够图示树的双亲表示法、孩子链表法、双亲孩子表示法、孩子兄弟表示法。能够进行树和二叉树的转换、森林和二叉树的转换。二、作业练习:P121:一、二、三、四(