数据结构知识点

文章目录

  • 第一章 绪论
    • 1.基本概念
    • 2. 算法和算法分析
    • 3.一些概念的区分
  • 第二章 线性表
    • 1.线性表的顺序表示
    • 2.线性表的链式表示
    • 3.顺序表和链表的比较

第一章 绪论

1.基本概念

  1. 数据(Data):是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。

  2. 数据元素(Data Element):是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。

  3. 数据项(Data Item):是组成数据元素的、有独立含义的、不可分割的最小单位。

  4. 数据对象(Data Object):是性质相同的数据元素的集合,是数据的一个子集。

  5. 数据结构(Data Structure):是相互之间存在一种或多种特定关系的数据元素的集合。包括逻辑结构和存储结构两个层次。
    (1) 逻辑结构:数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
    数据结构知识点_第1张图片
    数据结构知识点_第2张图片
    (2) 存储结构:数据对象在计算机中的存储表示,是逻辑结构在计算机中的存储表示。分为顺序存储结构和链式存储结构。

  6. 数据类型(Data Type):是一个值的集合和定义在这个值集上的一组操作的总称。

  7. 抽象数据类型(Abstract Data Type,ADT):一般指用户定义的、表示应用问题的数学模型。

2. 算法和算法分析

  1. 算法(Algorithm):为了解决某类问题而规定的一个有限长的操作系列。

  2. 算法时间复杂度:表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同。受问题规模、待处理数据的状态和语句频度影响。 在这里插入图片描述
    常量阶<对数阶<线性阶<线性对数阶<平方阶<立方阶<指数阶

  3. 算法空间复杂的:算法所需存储空间的度量。

  4. 原地工作:算法执行时所需要的辅助空间相对于输入数据量而言是个常数。

3.一些概念的区分

  1. 存储结构是对内容和个数的体现;存储实现是对位置的体现;逻辑结构是理论上的东西,属虚拟的东西;运算实现是对形式的体现。
  2. 数据元素是数据的基本单位;数据项是不可分割的最小单位;数据项是构成数据元素的最小单位;数据结构是带有结构的数据元素的集合。

第二章 线性表

1.线性表的顺序表示

  1. 线性表:由n (n>=0) 个数据特性相同的元素构成的有限序列。
  2. 线性表的顺序表示:指的是用一组地址连续的存储单元依次存储线性表的数据元素。称这种存储结构的线性表为顺序表。
  3. 顺序表特点:逻辑上相邻的数据元素,其物理次序也是相邻的。
  4. 通常用高级语言中的数组来描述数据结构中的顺序存储结构。

2.线性表的链式表示

  1. 线性表的链式存储结构:n个结点链结成一个链表,即为线性表的链式存储结构。
    2.线性链表分为单链表、循环链表、双向链表。
  2. 单链表(线性链表):链表的每个结点中只包含一个指针域。
  3. 链表特点:指针为数据元素之间的逻辑关系的映像,逻辑上相邻的两个数据元素,其存储的物理位置不要求紧邻。
  4. 首元结点:链表中存储第一个数据元素的结点。
  5. 头结点:在首元结点之前附设的一个结点,其指针域指向首元结点。头结点的数据域可以不存储任何信息,也可存储与数据元素类型相同的其他附加信息。
  6. 头指针:指向链表中第一个结点的指针。若链表设有头结点,则头指针所指结点为线性表的头结点;若链表不设头结点,则头指针所指结点为该线性表的首元结点。
  7. 链表增加头结点的作用:
    (1)便于首元结点的处理。
    (2)便于空表和非空表的统一处理。
  8. 循环链表:表中的最后一个结点的指针域指向头结点,整个链表形成一个环。
  9. 循环链表特点:从表中任一结点出发均可找到表中其他结点。
  10. 双向链表:结点中有两个指针域,一个指向直接后继,另一个指向直接前驱。

3.顺序表和链表的比较

数据结构知识点_第3张图片

你可能感兴趣的:(数据结构,数据结构,算法)