数据结构复习
扩展知识:
算法分析的目的是分析算法的效率以求改进
一、绪论
1、什么是数据结构?
数据结构包括逻辑结构,存储结构,还有数据的运算
(逻辑结构就是数据之间的关系,比如说线性结构就是逻辑结构的一种,线性结构就是跟一条线一样,数据之间的关系就是跟一根线一样(一根线有开始部分(头部),还有结束部分(尾部),然后中间有前后关系(也就是书中的前驱和后继))这就是逻辑结构,最后知道了数据之间的关系后,就要真正的存到内存中,这就需要存储结构了(什么是存储结构呢:就是存储数据的方式,我是按顺序存呢,还是按链条一样的方式存呢),比如说现在选择的是顺序存储结构,我们就要把带有关系(线性或其他逻辑结构)的数据按这种存储方式存到内存中)
线性结构就是有且只有一个开始节点和终端节点,并且其余节点有且只有一个直接前驱和直接后继,例如:线性表,典型的线性表有:顺序表,链表,栈(顺序栈,链栈)和队列(顺序队列,链队列),它们共同的特点就是数据之间的线性关系,除了头结点和尾节点之外,每个节点都有唯一的前驱和唯一的后继,也就是所谓的一对一关系。
二:线性表
线性表的定义:线性表是具有相同数据类型的n个数据元素的有限序列。n为表长,当n = 0时,为空表。 线性表公式表示:L = (a1,a2,a3.......an), a1 为表头元素,an为表尾元素。除了第一个元素,每个元素都有且仅有一个直接前驱,除了最后一个元素,每个元素有且仅有一个直接后继。 线性表的特点:有限个数;逻辑上有顺序性;每个表元素都是单个元素;表元素类型皆相同;元素具有抽象性。