Swift 标准库团队宣布开源 Swift Algorithms。Swift Algorithms 是一系列关于序列 (sequence) 和集合 (collection) 类型及相关类型的算法包。
根据 Swift 团队的介绍,Swift Algorithms 包含许多强大的通用算法,这些算法在其他流行的编程语言中也很常见,例如 Python itertools 模块以及 C++ 算法库。他们希望这个算法包能帮助开发者在编码时积极应用算法,以提升代码的正确性和性能。最终目的是收集并且孵化一系列实用算法,之后会进入 Swift 标准函数库中。
Swift Algorithms 包含各种与序列和集合有关的运算,例如循环集合元素处理、排列组合,以及随机采样等功能。
combinations(ofCount:)
: 集合中特定大小元素的组合permutations(ofCount:)
: 集合或完整集合中特定大小元素的排列randomSample(count:)
,randomSample(count:using:)
: 从一个集合中随机收集特定数量的元素randomStableSample(count:)
,randomStableSample(count:using:)
: 从一个集合中随机收集特定数量的元素,并保留其原始相对顺序indexed()
: 遍历集合索引和元素的元组
Swift 团队鼓励社区为 Swift Algorithms 贡献代码,并提到许多抽象概念虽然有趣,但不符合加入算法包的标准,例如 OrderedDictionary 数据结构和非线性数据结构算法,以及已有更多替代方法的经典算法等,社区在贡献代码时,要从可读性、一致性和正确性角度,思考是否适合。
猜你喜欢:暂无回复。