erlang数据结构-- sets
来源:互联网 发布:网络歌曲偷菜歌 编辑:程序博客网 时间:2024/05/21 18:39
今天是sets,
1. 类型:
在erlang中sets的数据结构有四种, ordsets, sets, gb_sets, sofs。
2. 定义:
ordsets: 有序集合
sets: 集合
gb_sets: AA 平衡二叉树实现的有序集合
sofs: Sets of sets (sofs) 集合的集合
3. 接口函数:
ordsets, sets 有一样的接口函数(所谓对于集合的一般操作), gb_sets 提供了更多的接口函数, 比如对于最大值和最小值的处理等。
4. 优缺点:
sets的这些类型,ordsets, sets, gb_sets 基本可以对应到key-value 的数据类型 orddict,dict, gb_trees ;优缺点也类似。 还有一个类型是sofs,相对于其他蛮特殊的类型, 不做比较。
5. notes:
gb_sets, ordset, sofs 使用== 来判断,也就是说1,1.0 是一个元素。 而sets用=:= 来判断。
6. 使用场合:
otp团队建议在大多数情况下使用gb_sets, 如果你想要用一种更加清晰的方式来表达程序,可以再适当的时候选择ordset。 当然如果你需要使用=:= 操作符号,就只能使用sets了。
7. 函数细节:
ordsets,sets 都很好理解,和查看。 接下来解释gb_sets。
7.1 gb_sets:balance/1
和gb_trees 很像, 一般不会调用这个函数, 如果一下子删除了很多元素, 那么可以调用这个函数来重新平衡树,因为删除操作不会平衡树, 这样做可以减少lookup的时间。
7.2 gb_sets 迭代
可以使用 fold/1 或者 iterator/1, iterator/2, next/1
7.3 gb_sets:take_smallest/1, take_largest/1
对最大值和最小值的操作。
参考:http://learnyousomeerlang.com/a-short-visit-to-common-data-structures
- erlang数据结构-- sets
- erlang sets
- erlang sets -----去重
- erlang 数据结构
- erlang 常用数据结构
- erlang 数据结构---proplists
- erlang 数据结构--(ord)dict
- erlang 数据结构 -- gb_trees
- erlang 数据结构 -- queue
- erlang 数据结构 --maps
- erlang 数据结构总结
- Erlang标准数据结构的选择
- erlang 数据结构-- 有向图
- Sets
- POJ1611 The Suspects [ 数据结构-并查集 union-find sets]
- POJ2524Ubiquitous Religions [数据结构-并查集 union-find sets]
- POJ 1182 食物链 [数据结构-并查集 union-find sets]
- 数据结构与算法之并查集(union-find sets)
- SSM搭建过程用遇到 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> uil找不到问题
- Android-->播放视频横竖屏切换的2种方式
- 4步教你玩转可视化大屏设计|内附实际操作
- robot framework使用Catenate关键字连接中间出现空格?
- 清空绑定字典 清空combobox 遇到一些问题
- erlang数据结构-- sets
- CSDN 搜索自己的博客
- OpenGrok在Windows处理UTF-8编码无BOM信息的源代码时,中文注释显示为乱码的问题
- 按顺序逐个同步地运行 Gulp 任务
- c++基础(18)
- Ueditor的上传图片如何配置
- Android的开发之&强大的adb命令和adb shell命令
- oracle :查询表的字段和字段注释。
- opencv学习笔记(四)识别线段与圆形