Linked List

前言:

制造问题的思维方式,无法用来解决问题。——阿尔伯特·爱因斯坦

Linked List 就是链表的意思
链表是线性表的一种。

那么,什么是线性表呢???

线性表是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。

线性表的存储方式???

线性表有两种存储方式,一种是顺序存储结构,另一种是链式存储结构
比如说:我们常用的数组就是一种典型的顺序存储结构。

相反,链式存储结构就是两个相邻的元素在内存中可能不是相邻的,每一个元素都有一个指针域,指针域一般是存储着到下一个元素的指针。
这种存储方式的优点是:定点插入和定点删除的时间复杂度为 O(1),不会浪费太多内存,添加元素的时候才会申请内存,删除元素会释放内存。
缺点是访问的时间复杂度最坏(worst)为 O(n)。

  • 顺序表的特性是随机读取,也就是访问一个元素的时间复杂度是O(1),
  • 链式表的特性是插入和删除的时间复杂度为O(1)。

链表就是链式存储的线性表。
根据指针域的不同,链表分为

  • 单向链表
  • 双向链表
  • 循环链表
  • ……

Python:

class ListNode:
       def __init__(self,val):
              self.val=val
              sel.next =None

你可能感兴趣的:(Linked List)