相辅相成、缺一不可 的两个方面。
数据结构是算法处理的 对象,是设计算法的 基础 。
一个具体问题的数据,有多种数据结构表示一个计算过程的实现,有多种可用的算法。
重点掌握 基本知识,理解它们在问题求解中的作用;
概念:数据的 逻辑结构、存储结构和操作,
空间代价和时间代价等 。
算法和数据结构数据结构的主要内容问题机外表示处理要求逻辑结构基本运算数学模型存储结构实现建模 求精不同结构的比较及算法分析实现基本算法
1.枚举法
2.迭代法
3.递归法
4.递推法
5.分治法
6.回溯法
1.数据的逻辑结构
2、数据的存储结构
3、数据的运算:检索、排序、插入、删除、修改等。
A.线性结构
B,非线性结构
A 顺序存储
B 链式存储线性表栈队树形结构图形结构数据结构的三个方面
(亦称物理结构 )
数组线性表:它是 n个数据元素的有限序列 。
存储方式:顺序存储和链式存储 。
线性表操作受限的线性表:栈和队列。
栈,插入和删除都是在表的 同一端 进行的顺序存储结构,注意栈满、栈空的条件链式存储结构,注意链的方向。
应用:递归问题、回溯算法、程序调用、表达式计算队列,插入 删除 运算在表的 不同端 进行顺序存储结构,用环形队列,可解决假溢出问题,注意队列满和队列空的条件及描述。
应用:排队、缓冲区栈和队列树、二叉树
树,树林,二叉树的基本概念和转换;
二叉树性质
二叉链表存储结构
二叉树的遍历
哈夫曼树的构造方法及应用图图的基本概念图的存储结构:关联矩阵、求值矩阵和邻接表图的遍历应用:最小生成树、最短路径、拓扑排序、关键路径等问题重点掌握图的存储表示、遍历和各种应用算法的基本思想。
( 1)基本查找 (查找方法)
A,顺序检索:
简单,常用于未排序元素的检索,效率不高; O(n)
B,对分法检索:
仅用于排序元素,检索效率较高当插入、删除运算时会引起大量数据的移动。 O(log2n)
( 2) 哈希表技术 ( 构造,查找方法 )
检索操作达到近乎随机存取的速度。但散列表示经常出现碰撞与堆积现象,增加了检索长度。
( 平均检索长度 与 n无关,与装填因子有关)
( 3) 二叉排序树 ( 构造,查找方法 )
元素插入次序不同,会构成不同的二叉排序树。最佳二叉排序树的平均检索长度为 O(log2n)。
查找排序理解排序的定义和各种排序方法的特点 。
了解各方法的排序过程及其依据的原则 。
基本排序方法的选择各种排序方法各有优缺点,故在不同情况下可作不同的选择 。 通常需考虑的因素有,待排序的记录个数;
记录本身的大小;记录的键值分布情况 等 。
若待排序的记录,
n较小时,可采用简单排序方法 。
n 较大时,采用快速排序或堆排序 。
记录已基本有序,可采用起泡排序,希尔排序 。