热搜:fiddler git ip ios 代理
历史搜索

JS链表(Linked

游客2024-11-13 12:03:02
目录文章目录
  1. 数据结构的概念?
  2. 算法和数据结构的关系
  3. 什么是数组结构
  4. 2. 数组的优缺点
  5. 什么是链表结构
  6. js 中链表的实现
  7. 实现一个单向链表

之前看过这样一个问题“既然已经有数组了,为什么还要链表?”

其实链表和数组各有千秋,都在不同的业务场景中发光发热,很多同学对链表可能是既熟悉又陌生。熟悉的是,我们在刷一些八股文的时候经常会看到“链表”这个字眼,陌生的是,我们在平时的开发中并不会太多的使用到链表。

那么我们就来带着问题了解一下啥是链表,既然已经有数组了,为什么还要链表?

数据结构的概念?

我们来把看起来晦涩难懂的专业术语拆分一下:

数据:对应的就是数据类型,在 js 中包含了基本数据类型引用数据类型

结构:将一堆各种各样的数据按照不同的逻辑排列组合最终存储到计算机内存当中

总结:我们把数据的各种逻辑组成,在计算机中的存储结构以及各种操作的算法设计叫做数据结构

算法和数据结构的关系

算法是建立在数据结构之上,对数据结构的操作需要用算法来描述;算法设计依赖数据的逻辑结构,算法的实现依赖数据的存储结构

(1) 常见的数据结构

数组、字典、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树。

(2) 常见的算法

递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法等。

什么是数组结构

1. 数组的定义

数组是若干个元素按照顺序排列存放的一个集合,并且每个元素至少存在一个 索引(index) 或者 关键字(key) 所标识,每个元素的位置都可以通过计算索引拿到。

为什么说每个元素至少有一个索引呢,那是因为数组可以是多维度的。

但是我们在日常工作中一般常用的是一维数组,也可以称之为 线性数组

JS链表(Linked 1