分享

Javascript[0x09] -- 集合

 nullPlus 2023-02-03 发布于浙江

集合是由一组无序且唯一(即不能重复)的项组成的。这个数据结构使用了与有限集合相同的数学概念,但应用在计算机科学的数据结构中。

相关概念与方法

  • add(value):向集合添加一个新的项。

  • delete(value):从集合移除一个项。

  • has(value):如果值在集合中,返回true,否则返回false。

  • clear():移除集合中的所有项。

  • size():返回集合所包含元素的数量。与数组的length属性类似。

  • values():返回一个包含集合中所有值的数组。

  • 并集:对于给定的两个集合,返回一个包含两个集合中所有元素的新集合

  • 交集:对于给定的两个集合,返回一个包含两个集合中共有元素的新集合。

  • 差集:对于给定的两个集合,返回一个包含所有存在于第一个集合且不存在于第二个集合的元素的新集合。

  • 空集。空集就是不包含任何元素的集合。无序性,互斥性,唯一性。

  • 子集:验证一个给定集合是否是另一集合的子集。

搭框架

实现的时候一个巧妙的点,是使用对象而不是数组表示集合,我们知道Javascript中一个键只有一个值。

相关方法实现

has(value)

add(value)

remove(value)

clear()

size()

values()

这里按照思路返回的是个数组,笔者当时为了更直观地进行测试所以给它String了一下,放到下文的集合操作返回的是数组而不是字符串这里提及一下。

union(otherSet)

intersection(otherSet)

difference(otherSet)

subset(otherSet)

参考文献

《学习JavaScript数据结构与算法(第2版)》

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多