时间:2021-07-01 10:21:17 帮助过:6人阅读
前言
本文主要介绍了关于js构建二叉树进行数值数组的去重与优化的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
常见两层循环实现数组去重
构建二叉树实现去重(仅适用于数值类型的数组)
将先前遍历过的元素,构建成二叉树,树中每个结点都满足:左子结点的值 < 当前结点的值 < 右子结点的值
这样优化了判断元素是否之前出现过的过程
若元素比当前结点大,只需要判断元素是否在结点的右子树中出现过即可
若元素比当前结点小,只需要判断元素是否在结点的左子树中出现过即可
优化思路一,记录最大最小值
记录已经插入元素的最大最小值,若比最大元素大,或最小元素小,则直接插入
优化思路二,构建红黑树
构建红黑树,平衡树的高度
有关红黑树的部分,请见红黑树的插入
其他去重方法
通过 Set 对象去重
通过 sort()
+ reduce()
方法去重
排序后比较相邻元素是否相同,若不同则添加至返回的数组中
值得注意的是,排序的时候,默认 compare(2, '2')
返回 0;而 reduce() 时,进行全等比较
通过 includes()
+ map()
方法去重
通过 includes()
+ reduce()
方法去重
通过对象的键值对 + JSON 对象方法去重
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
jquery1.8版本使用ajax实现微信调用出现的问题分析及解决办法
编写轻量ajax组件01-与webform平台上的各种实现方式比较
Jquery Ajax请求文件下载操作失败的原因分析及解决办法
以上就是js构建二叉树进行数值数组的去重与优化详解的详细内容,更多请关注Gxl网其它相关文章!