推广 热搜: 广场  Java  app  Word  营业  微信公众号  北京代理记账  商城  代理记账  商标交易 

javascript列表操作 js单链表查找原理?

   2023-05-07 企业服务招财猫150
核心提示:js单链表查找原理?链表的起源一、链表的由来我们接触最多的数据存储结构应该是数组,它在实际场景中出现的频率非常高,但并不适合所有情况。这也是一个链表原因如下:在许多编程语言中,数组的长度是固定的,所以

js单链表查找原理?

链表的起源

一、链表的由来

我们接触最多的数据存储结构应该是数组,它在实际场景中出现的频率非常高,但并不适合所有情况。这也是一个链表

原因如下:

在许多编程语言中,数组的长度是固定的,所以当数组充满数据时,添加新元素是非常困难的。

在数组中添加和删除元素很麻烦,因为数组中的其他元素需要向前或向后平移。

Javascript中数组的主要问题是作为对象实现,相比其他语言(如C和Java)中的数组效率较低。

为了解决以上问题,如果在实际使用中发现数组比较慢,可以考虑改用链表。除了对数据的随机访问,链表几乎可以用于任何可以使用一维数组的场合。如果需要频繁的删除和添加操作,主动考虑链表吧~

1.1特点

优势

链表结构可以充分利用计算机内存空间,实现灵活的动态内存管理。

添加数据和删除数据很容易。

链表中的每个元素实际上都是一个独立的对象,所有对象都通过每个元素中的引用字段链接在一起。

缺点?

访问时间是线性的(而且很难流水线化),更快的访问,比如随机访问,是不可行的。与链表相比,数组有更好的缓存位置。

失去了随机读取数组的优势,而且因为增加了节点的指针字段,链表的空间开销也比较大。

链表有许多不同的类型:单向链表、双向链表和循环链表。链表可以用许多编程语言实现。以下代码全部用Js实现。如有不妥,请指正。我们鼓励你。

第二,单链表

单个链表中的每个节点不仅包含一个值,还包含一个链接到下一个节点的引用字段。通过这种,单个链表按顺序组织所有节点。、

下面是一个单链表的例子:

当你得到了头节点,你就得到了整个列表。

我们创建单个节点的操作应该如下所示:

2.1添加节点

就像打绳结一样,加一个节点就是在两个结之间打一个新结。

如果我们想在给定的节点prev后添加一个新值,我们应该:

创建要插入的节点cur。

将cur节点的下一个链接到下一个节点(pre的下一个节点)

将下一个pre链接到cur节点。

在开头添加一个节点

众所周知,我们用head节点来表示整个列表。

因此,在列表的开头添加新节点时,更新head节点head是非常重要的。

初始化新节点cur;

将新节点cur的下一个链接到我们原来的头节点。

将下一个头节点链接到cur,也就是说,是的。

在末尾添加一个节点

创建新的节点cur

只需将链表最后一个节点的下一个链接到cur。

2.2删除节点

如果我们想删除指定的节点cur,我们应该这样做:

查找cur的上一个节点prev及其下一个节点(要删除的节点)。

把链接给`,也就是跳过删除节点。

注意:必须从头节点遍历到指定节点,删除节点的平均时间复杂度为O(N)。

删除最后一个节点

找到下一个节点链接为空的节点,以及它的前一个节点。

仅链接空

第三,设计链表

以LeetCod

如何实现用javascript把地图可视化?

对于JS开发人员来说,可视化数据的能力与制作交互式网页一样重要。特别是两者经常同时出现。在数据中使用Javascript随着可视化领域的普及,甚至会有新的库可以为Web创建漂亮的图表。

可视化需要考虑许多因素:

我想要什么样的图表?饼状图,地理图,折线图,条形图?

有些库只支持几种类型。首先,你要知道自己真正需要的是什么。

数据集有多大?

基于SVG的库通常更适合中小型数据集,因为每个元素都是唯一的节点,存在于DOM树中。这也意味着允许直接访问它们,这使得它们更加灵活。虽然您可以使用一些数据聚合算法、智能内存管理和其他花哨的技术来处理大型数据集,但使用基于Canvas的大型数据集工具是更可靠的选择。帆布速度很快。

该应用程序是Web应用程序、移动应用程序还是两者都有?

有些库响应速度更快,有些库有自己版本的ReactNative,比如Victory。

浏览器支持给定的库吗?

你用的是什么样的Javascript框架?

确保您的数据库库能够顺利运行。如果您正在使用React,使用React特定的库可能比使用包装器更好。

你需要什么样的外貌?

如果需要一些高级动画,也要考虑这个。

能够回答上面提到的问题将会很容易找到一个完美的开源解决方案。

1、D3.js

适用于:任何环境

GitHub:

2、退货

适用于:反应

GitHub:

3、胜利

适用于:反应,反应原生

4、反作用

适用于:反应

5、ApexCharts

适用于:React,Vue.js,纯Javascript。

GitHub:

越来越多的数据可视化库证明了Web可视化的重要性。希望这个列表能帮助你在以后的项目中创造出漂亮的图表。祝你好运!

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
合作伙伴
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  冀ICP备2023006999号-8