awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
apple avatar

apple/swift-algorithms

0
View on GitHub↗
6,293 stars·473 forks·Swift·apache-2.0·2 vues

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.

Historique des stars

Graphique de l'historique des stars pour apple/swift-algorithmsGraphique de l'historique des stars pour apple/swift-algorithms

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Swift Algorithms

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Swift Algorithms.
  • more-itertools/more-itertoolsAvatar de more-itertools

    more-itertools/more-itertools

    4,074Voir sur 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
    Voir sur GitHub↗4,074
  • ankurp/dollarAvatar de ankurp

    ankurp/Dollar

    4,240Voir sur 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
    Voir sur GitHub↗4,240
  • morelinq/morelinqAvatar de morelinq

    morelinq/MoreLINQ

    3,827Voir sur 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
    Voir sur GitHub↗3,827
  • aimeos/mapAvatar de aimeos

    aimeos/map

    4,200Voir sur 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
    Voir sur GitHub↗4,200
Voir les 30 alternatives à Swift Algorithms→

Questions fréquentes

Que fait 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.

Quelles sont les fonctionnalités principales de apple/swift-algorithms ?

Les fonctionnalités principales de apple/swift-algorithms sont : Swift Collection Extensions, Collection Combinatorics, Generic Monomorphisation, Lazy Sequences, Combinatorial Generators, Generic Data Abstractions, Generator-Based Iterators, Copy-On-Write Proxying.

Quelles sont les alternatives open-source à apple/swift-algorithms ?

Les alternatives open-source à apple/swift-algorithms incluent : 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…