[NEFU 数据结构] 第 2 章 线性表 知识点整理

Posted 鱼竿钓鱼干

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[NEFU 数据结构] 第 2 章 线性表 知识点整理相关的知识,希望对你有一定的参考价值。

[NEFU 数据结构] 第 2 章 线性表 知识点整理

阅读须知

  • 需求指向:
    此博客用于应付NEFU数据结构考试,基于题目进行整理,不适合想深入学习数据结构与算法艺术的同学。

  • 前置知识:
    C语言

  • 参考资料:
    数据结构C语言版|第二版 严蔚敏
    数据结构C语言版习题解析与实验指导|第二版 严蔚敏

  • 推荐博客
    [NEFU]数据结构 知识点整理和代码实现

一、思维导图

在这里插入图片描述

二、考点

2.1 线性表的定义和特点

  • 存在唯一的一个被称作第一个的数据元素
  • 存在唯一的一个被称作最后一个的数据元素
  • 除第一个之外,结构中的每个数据都只有一个前驱
  • 除最后一个之外,结构中的每个数据都只有一个后继

2.4 线性表的顺序表示和实现

  • 逻辑上相邻的元素,其物理次序也是相邻的
  • L O C ( a i ) = L O C ( a 1 ) + ( i − 1 ) ∗ L LOC(a_i)=LOC(a_1)+(i-1)*L LOC(ai)=LOC(a1)+(i1)L
  • 线性表的存储结构是一种随机存储结构
  • 顺序表的基本操作实现
操作时间复杂度其他
初始化申请空间,构建空表
取值 O ( 1 ) O(1) O(1) e [ i − 1 ] e[i-1] e[i1]为第i个元素
查找 O ( N ) O(N) O(N) A S L = n + 1 2 ASL=\\frac {n+1} 2 ASL=2n+1
插入 O ( N ) O(N) O(N) E i n t = n 2 E_{int}=\\frac n2 Eint=2n , 第i个位置插入移动 n − i + 1 n-i+1 ni+1
删除 O ( N ) O(N) O(N) E d e l = n − 1 2 E_{del}=\\frac{n-1} 2 Edel=2n1 , 删除第i个移动 n − i n-i ni

2.5 线性表的链式表示和实现

  • 存储单元可以连续也可以不连续
  • 结点包含数据域和指针域
  • 首元结点:存储第一个数据元素的结点
  • 头结点:首元结点之前附设的结点
  • 头指针:指向链表中第一个结点的指针
  • 单链表是非随机存取的存储结构,也称为顺序存取
  • 所有结点通过指针的链接而组织成单链表
  • 单链表基本操作的实现
操作时间复杂度其他
初始化
取值 O ( N ) O(N) O(N) A S L = n − 1 2 ASL=\\frac {n-1} 2 ASL=2n1
查找 O ( N ) O(N) O(N)
插入 O ( 1 ) O(1) O(1)确定位置还是 O ( N ) O(N) O(N)
删除 O ( 1 ) O(1) O(1)确定位置还是 O ( N ) O(N) O(N)
创建(前插法) O ( N ) O(N) O(N)
创建(后插法) O ( N ) O(N) O(N)
创建一个包含N个结点的有序单链表 O ( N 2 ) O(N^2) O(N2)
查找直接后继 O ( 1 ) O(1) O(1)
查找前驱 O ( N ) O(N) O(N)双向链表优化
  • 循环链表中止条件:p!=L,p->next!=L
  • 循环链表设立尾指针不设头指针,两个线性表合并复杂度 O ( 1 ) O(1) O(1)
  • 双向链表插入删除操作复杂度为 O ( N ) O(N) O(N)

2.6 顺序表和链表的比较

  • 存 储 密 度 = 数 据 元 素 本 身 占 用 存 储 量 结 点 结 构 占 用 的 存 储 量 存储密度=\\frac {数据元素本身占用存储量} {结点结构占用的存储量} =
  • 顺序表存储密度1,链表存储密度小于1
  • 背下面两个表
    在这里插入图片描述
    在这里插入图片描述

2.7 线性表的应用

  • 线性表的合并: O ( n ∗ m ) O(n*m) O(nm)
  • 有序表的合并
    仍然按照原序排列:最好 O ( m i n ( m , n ) ) O(min(m,n)) O(min(m,n)),最坏 O ( m + n ) O(m+n) O(m+n)
    按照原序逆序排列: O ( m + n ) O(m+n) O(m+n)

以上是关于[NEFU 数据结构] 第 2 章 线性表 知识点整理的主要内容,如果未能解决你的问题,请参考以下文章

[NEFU 数据结构] 第 1 章 绪论 知识点整理

[NEFU锐格 数据结构]实验一 线性表有关的操作

程序员“修炼成神”的必经之路——数据结构(第2章 线性表)

2-10-归并扩展的线性单链表-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版

数据结构-王道2017-第2章 线性表

第2章 线性表《C#数据结构和算法》