awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
apple avatar

apple/swift-algorithms

0
View on GitHub↗
6,293 星标·473 分支·Swift·apache-2.0·7 次浏览

Swift Algorithms

Swift Algorithms is a library of sequence and collection algorithms for Swift, providing operations for splitting, cycling, combining, and sampling collections with lazy evaluation. It extends Swift's standard library with algorithms that work across all types conforming to Sequence and Collection protocols, enabling efficient data processing without intermediate storage.

The library specializes in combinatorial enumeration, generating all possible permutations, combinations, and product sequences from collections for testing and exploration. It also includes utilities for splitting collections into groups based on element properties or transformations, creating infinite sequences by repeating collection elements, and selecting random subsets of unique elements without replacement.

Additional capabilities include chunking collections by predicate conditions, cycling over collection elements endlessly, and performing lazy sequence operations that compute elements on demand during iteration. The library is distributed as a Swift package, with documentation and source code available through the Swift Package Manager.

Features

  • Swift Collection Extensions - Provides a library of collection algorithms for splitting, cycling, combining, and sampling Swift collections.
  • Collection Combinatorics - Combinatorial operations that generate permutations, combinations, and product sequences from Swift collections.
  • Generic Monomorphisation - Provides compile-time specialization of generic algorithms for each concrete collection type.
  • Lazy Sequences - Implements lazy sequence operations that chain transformations without intermediate storage.
  • Combinatorial Generators - Generates all permutations and combinations of collection elements for combinatorial testing and exploration.
  • Generic Data Abstractions - Defines algorithms as protocol extensions on Sequence and Collection for reuse across all conforming types.
  • Generator-Based Iterators - Implements combinatorial algorithms as stateful iterators that yield elements one at a time.
  • Copy-On-Write Proxying - Implements copy-on-write value semantics for collection operations to ensure predictable performance.
  • Permutation Generation Algorithms - Generates all possible permutations and combinations of collection elements for combinatorial testing.
  • Collection Partitioning & Grouping - Provides chunking and grouping algorithms that partition collections by element properties or predicates.
  • Lazy Infinite Sequences - Repeats collection elements endlessly to create infinite sequences for continuous iteration.
  • Collection Cyclers - Ships a cycle algorithm that repeats collection elements to form an infinite sequence.
  • Collection Element Transformations - Provides predicate-based chunking to break collections into consecutive groups by matching properties.
  • Infinite Cycling - Provides algorithms for cycling over collection elements endlessly to create infinite sequences.
  • Predicate-Based Chunking - Ships algorithms for chunking collections by predicate conditions into consecutive groups.
  • Random Sampling - Selects random subsets of unique elements from collections without replacement for sampling.

Star 历史

apple/swift-algorithms 的 Star 历史图表apple/swift-algorithms 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Swift Algorithms 的开源替代方案

相似的开源项目,按与 Swift Algorithms 的功能重合度排序。
  • more-itertools/more-itertoolsmore-itertools 的头像

    more-itertools/more-itertools

    4,074在 GitHub 上查看↗

    more-itertools is an extension library for the Python itertools module. It serves as a toolkit for manipulating iterables, providing a wide range of routines for data transformation, combinatorial generation, and iterator state management. The library distinguishes itself through advanced state management and complex sequence generation. It provides capabilities for peeking at future elements, seeking within sequences, and producing unique permutations, combinations, and set partitions from collections that may contain duplicate elements. Its broader capability surface covers data processing

    Python
    在 GitHub 上查看↗4,074
  • ankurp/dollarankurp 的头像

    ankurp/Dollar

    4,240在 GitHub 上查看↗

    Dollar is a functional programming library for Swift that provides a comprehensive toolkit for collection manipulation, string processing, mathematical calculations, and date and time management. It serves as a utility suite for filtering, aggregating, and restructuring arrays and dictionaries. The project implements functional programming patterns such as currying, memoization, and function composition. It also features a chainable wrapper interface that allows multiple data transformations to be applied sequentially before extracting a final result. The library covers a wide range of capab

    Swift
    在 GitHub 上查看↗4,240
  • morelinq/morelinqmorelinq 的头像

    morelinq/MoreLINQ

    3,827在 GitHub 上查看↗

    MoreLINQ is a functional programming toolkit and extension library for .NET that augments LINQ to Objects with advanced operators for sequence manipulation and analysis. It provides a set of tools for declarative data transformation, leveraging lazy evaluation and composition to handle complex object sequences. The library is distinguished by its specialized capabilities for combinatorial generation, including the production of permutations, subsets, and Cartesian products. It also provides advanced sequence joining options, such as full, left, and right outer joins, and supports complex data

    C#dotnetlinq
    在 GitHub 上查看↗3,827
  • aimeos/mapaimeos 的头像

    aimeos/map

    4,200在 GitHub 上查看↗

    This PHP data collection library is a functional data wrapper and array manipulation framework. It converts arrays, JSON strings, and iterables into chainable collection objects designed for advanced filtering, sorting, and transformation. The library is distinguished by its ability to dynamically extend functionality through the registration of custom methods via closures. It also provides specialized capabilities for hierarchical data modeling, allowing flat datasets with parent-child identifiers to be reconstructed into nested tree structures. The toolkit covers a broad surface of data ma

    PHParraycollectionmap
    在 GitHub 上查看↗4,200
查看 Swift Algorithms 的所有 30 个替代方案→

常见问题解答

apple/swift-algorithms 是做什么的?

Swift Algorithms is a library of sequence and collection algorithms for Swift, providing operations for splitting, cycling, combining, and sampling collections with lazy evaluation. It extends Swift's standard library with algorithms that work across all types conforming to Sequence and Collection protocols, enabling efficient data processing without intermediate storage.

apple/swift-algorithms 的主要功能有哪些?

apple/swift-algorithms 的主要功能包括:Swift Collection Extensions, Collection Combinatorics, Generic Monomorphisation, Lazy Sequences, Combinatorial Generators, Generic Data Abstractions, Generator-Based Iterators, Copy-On-Write Proxying。

apple/swift-algorithms 有哪些开源替代品?

apple/swift-algorithms 的开源替代品包括: more-itertools/more-itertools — more-itertools is an extension library for the Python itertools module. It serves as a toolkit for manipulating… ankurp/dollar — Dollar is a functional programming library for Swift that provides a comprehensive toolkit for collection… morelinq/morelinq — MoreLINQ is a functional programming toolkit and extension library for .NET that augments LINQ to Objects with… pytoolz/toolz — Toolz is a Python library that implements functional programming utilities for iterable transformation, dictionary… aimeos/map — This PHP data collection library is a functional data wrapper and array manipulation framework. It converts arrays,… azl397985856/leetcode — This project is a curated educational resource and solution repository for algorithmic challenges, specifically…