第二章链表

简介: 第二章链表

一、链表理论基础

1.1链表的定义

链表就是由指针串联在一起的线性结构。链表的结点组成为:

  1. 数据域 data
  2. 指针域 next

链表的入口节点就是链表的头结点 head

1.2链表的类型

双链表的每一个节点有两个指针域,一个数据域:

  1. prev(指向上一个节点)
  2. next(指向下一个节点)
  3. data(存储数据)

双链表 既可以向前查询也可以向后查询。

循环链表就是链表首尾相连,可以用来解决约瑟夫环问题

1.3链表的存储方式

数组在内存中是连续分布的,但是链表在内存中是不可连续分布的,链表是通过指针域的指针连接在内存中的各个节点。链表中的节点散乱分布在内存中的某地址上,分配机制取决于操作系统的内存管理。

上图可知,各个节点分布在内存不同的地址空间,通过指针串联在一起了。

二、链表的操作

2.1删除节点

c->next=D->next;

2.2添加节点

f->next=D;
c->next=f;

三、性能分析:

链表和数组特性分析如下:

四、题型总结

203.移除链表元素

707.设计链表

206.反转链表

19.删除链表倒数第N个节点

142.环形链表 II

目录
相关文章
|
3天前
|
存储 Java
数据结构第三篇【链表的相关知识点一及在线OJ习题】
数据结构第三篇【链表的相关知识点一及在线OJ习题】
18 7
|
2月前
|
存储 算法
链表经典操作与实战
文章深入探讨了链表的基本概念、分类和经典操作,通过LeetCode上的实战题目展示了如何应用虚拟头节点、双指针法、定位前驱节点等技巧来解决链表相关问题,并强调了算法在软件开发中的重要性。
链表经典操作与实战
|
4月前
|
存储 算法 C语言
【链表专题】深入探索链表:文章索引与知识架构(链表的概念、实现、应用、经典例题大合集)
【链表专题】深入探索链表:文章索引与知识架构(链表的概念、实现、应用、经典例题大合集)
|
5月前
|
存储 算法 索引
数据结构与算法④(第二章下)链表概念+单链表的实现
数据结构与算法④(第二章下)链表概念+单链表的实现
38 0
|
5月前
|
存储 NoSQL API
【Redi设计与实现】第三章:链表
【Redi设计与实现】第三章:链表
|
存储
【数据结构】栈和队列重点知识汇总(附有OJ题)
【数据结构】栈和队列重点知识汇总(附有OJ题)
|
存储 算法
【数据结构与算法】单链表的增删查改(附源码)(上)
【数据结构与算法】单链表的增删查改(附源码)
77 0
|
存储 算法
【数据结构与算法】单链表的增删查改(附源码)(下)
【数据结构与算法】单链表的增删查改(附源码)(下)
67 0
|
存储 算法
【基础篇】5 # 链表(下):写好链表代码的六个实用技巧
【基础篇】5 # 链表(下):写好链表代码的六个实用技巧
89 0
【基础篇】5 # 链表(下):写好链表代码的六个实用技巧
|
存储 C语言
【数据结构】链表其实并不难 —— 手把手带你实现单链表2
【数据结构】链表其实并不难 —— 手把手带你实现单链表
107 0
【数据结构】链表其实并不难 —— 手把手带你实现单链表2