"OrderedHashSet" (数据结构)
"OrderedHashSet"
表示一个集合,其中的成员为普通表达式,成员资格则是用哈希函数计算的,并保留成员插入的顺序.
更多信息
- 有序哈希集可在保留插入顺序很重要的情况下高效插入和删除以及进行成员测试:
-
CreateDataStructure["OrderedHashSet"] 创建新的空 "OrderedHashSet" CreateDataStructure["OrderedHashSet",elems] 创建一个包含 elems 的新 "OrderedHashSet" Typed[x,"OrderedHashSet"] 指定 x 的类型为 "OrderedHashSet" - 对于类型为 "OrderedHashSet" 的数据结构,可进行以下操作:
-
ds["Complement",list] 从 ds 中删除出现在 list 中的元素 用时:O(n) ds["Copy"] 返回 ds 的副本 用时:O(n) ds["Elements"] 返回 ds 的元素列表 用时:O(n) ds["EmptyQ"] 如果 ds 中没有元素则返回 True 用时:O(1) ds["Delete",x] 从 ds 中删除 x,如果 x 是元素,返回 True 用时:O(1) ds["DeleteAll"] 删除 ds 的所有元素 用时:O(n) ds["Insert",x] 将 x 添加到集合中,如果添加成功则返回 True 用时:O(1) ds["Intersection",list] 从 ds 中删除没有出现在 list 中的元素 用时:O(n) ds["Length"] 返回存储在 ds 中的元素的数量 用时:O(1) ds["MemberQ",x] 如果 x 是 ds 的元素则返回 True 用时:O(1) ds["Pop"] 从 ds 中移除一个元素并将其返回 用时:O(1) ds["Union",list] 将 list 中出现的元素添加到 ds 中 用时:O(n) ds["Visualization"] 返回 ds 的可视化 用时:O(n) - 还支持以下函数:
-
dsi===dsj 如果 dsi 等于 dsj 则为 True FullForm[ds] ds 的完全形式 Information[ds] 关于 ds 的信息 InputForm[ds] ds 的输入形式 Normal[ds] 将 ds 转换成普通表达式
范例
打开所有单元关闭所有单元基本范例 (2)
范围 (2)
信息 (1)
可用 CreateDataStructure 创建新的 "OrderedHashSet":
集合运算 (1)
"OrderedHashSet" 支持一些核心集合运算. 可用 CreateDataStructure 创建新的空 "OrderedHashSet":