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
·
kodecocodes avatar

kodecocodes/swift-algorithm-club

0
View on GitHub↗

Swift Algorithm Club

This project is a comprehensive collection of common computer science algorithms and data structures implemented in Swift. It serves as an educational reference and library for studying computational complexity, algorithmic logic, and data structure engineering through practical code examples.

The repository provides a wide suite of data structure implementations, including various types of linked lists, heaps, hash tables, and an extensive range of hierarchical trees such as Red-Black, B-Tree, and Splay trees. It also covers diverse sorting and searching techniques, from basic bubble sort to complex hybrid and non-comparative sorting methods.

Beyond basic structures, the project covers advanced computational areas including graph theory for shortest path and spanning tree calculations, computational geometry for convex hulls, and lossless data compression using Huffman and run-length encoding. It also includes implementations for machine learning models, such as K-Means clustering and Naive Bayes classification, and various mathematical primitives.

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

Features

  • Swift Programming Guides - Serves as a comprehensive educational resource for learning algorithms and computational complexity using Swift.
  • Algorithm Implementations - Provides a comprehensive collection of fundamental data structures and algorithms implemented in Swift.
  • Computer Science Education - Provides educational materials and practical Swift examples for learning core computer science principles and algorithms.
  • Contiguous Fixed Arrays - Provides a contiguous memory collection with static capacity for constant-time lookups.
  • Graph Theory - Implements mathematical libraries for modeling and solving problems involving nodes and edges.
  • Hash Maps - Implements hash-based storage systems that map keys to values for fast data retrieval.
  • Divide And Conquer Algorithms - Implements a comprehensive set of divide and conquer algorithms to solve complex computational problems.
  • Multiway Search Trees - Implements a self-balancing B-Tree as a multiway search tree for efficient retrieval.
  • Sorted Sets - A system for storing unique items in a sorted sequence ensuring no duplicates are added.
  • Stack and Queue Algorithms - Provides educational implementations of both first-in-first-out and last-in-first-out data structures.
  • Algorithm Complexity Analyses - Provides detailed evaluation of algorithm running time and memory usage using Big-O notation.
  • Algorithms and Data Structures - Implements a wide library of fundamental computer science data structures and algorithms with educational explanations.
  • Search Tree Implementations - Implements a wide variety of search trees including Red-Black, Splay, and B-Trees.
  • Swift Projects - Provides a suite of data structure implementations in Swift for studying performance and memory management.
  • Hierarchical Tree Structures - Implements a general binary tree structure where each node has at most two children.
  • Binary Search Trees - Implements binary search tree insertion to maintain sorted order based on value magnitude.
  • Stacks - Implements a standard last-in-first-out stack structure supporting push and pop operations.
  • Scientific & Mathematical Computing - Implements mathematical primitives including matrix operations and primality testing.
  • Binary Search Algorithms - Implements the fundamental binary search algorithm for locating values within sorted arrays.
  • Data Structure Implementations - Implements a wide suite of custom data structures including balanced trees, priority queues, and linked lists.
  • Linear Search Algorithms - Implements a linear search algorithm to locate the index of the first element matching a target value.
  • Greedy - Implements algorithms that make locally optimal choices at each step to find global optima.
  • Recursive Tree Traversal Algorithms - Implements recursive tree traversal strategies including pre-order, in-order, and post-order sequences.
  • Dynamic Programming Solvers - Provides algorithmic implementations for solving optimization problems using memoization and recursive decomposition.
  • Hash Tables - Implements a hash table for efficient key-value storage and retrieval using a hash function.
  • Linked Lists - Implements singly, doubly, and skip-linked list structures for sequential data organization.
  • Singly - Implements a non-contiguous sequence of data items using value semantics and copy-on-write optimization.
  • Queues - A data structure that manages a collection of elements using first-in-first-out logic.
  • Genetic Algorithms - Implements genetic algorithms to find high-quality solutions for optimization problems through simulated natural selection.
  • Data Compression Algorithms - Implements Huffman coding to reduce data size by assigning variable-length bit strings based on frequency.
  • Frequency Table Generation - Provides byte stream analysis to generate frequency tables for compression algorithms.
  • Least Recently Used Caches - Implements a fixed-size memory store that purges the least recently used elements to optimize retrieval.
  • Spatial Querying - A process for retrieving all points within a specific rectangular area by traversing a spatial tree.
  • Regional Querying - A process for retrieving objects within a specific volume of space by traversing a partitioned tree.
  • Adjacency Lists - Implements adjacency lists for representing sparse graphs and facilitating traversal.
  • Adjacency Matrices - Implements graph representation using two-dimensional arrays for efficient adjacency checks.
  • Ordered Data Structures - A collection that stores unique elements while preserving insertion order using a combined hash table and array.
  • Efficient Array Partitioning - Implements efficient array partitioning around pivots to facilitate sorting operations.
  • Probabilistic Membership Filters - A space-efficient method, such as a Bloom filter, for checking if an element is likely present in a set.
  • Set Data Structures - A system for performing union, intersection, and difference operations to merge or isolate common elements.
  • Data Insertion Algorithms - Implements the logic for adding keys and splitting nodes in B-Tree structures.
  • Data Removal Algorithms - Implements key deletion and node merging to maintain B-Tree balance.
  • Key Removal Algorithms - Provides the specific mechanism for removing values and rebalancing B-Tree nodes.
  • Heuristic Pattern Search Algorithms - Implements Boyer-Moore and KMP search algorithms using bad-character and good-suffix heuristics.
  • Top-K Element Identification - Implements algorithms like quickselect to identify the k-th largest or smallest elements in a dataset.
  • Depth-First Search Implementations - Implements depth-first search for exploring graph and tree structures through backtracking.
  • Optimal Path Reconstruction - Implements state transition tracking to reconstruct the specific sequence of nodes in an optimal path.
  • Binary Trees - Provides mechanisms to locate nodes and calculate depth/height in binary trees.
  • Threaded - Implements threaded binary trees to enable efficient in-order traversal without stack overhead.
  • Graph Data Structures - Provides guides and implementations for representing networks of nodes and edges.
  • Breadth-First Search - Provides a level-by-level traversal strategy for searching tree and graph data structures.
  • Balanced Search Trees - Provides a balanced binary search tree implementation to maintain logarithmic time complexity.
  • Red-Black Trees - Implements a Red-Black tree to ensure logarithmic performance through automatic rebalancing.
  • Disjoint-Set - A system for tracking elements partitioned into non-overlapping subsets to merge sets and identify membership.
  • Sorted List Maintenance - Provides a collection that automatically maintains ascending order by calculating insertion points via binary search.
  • Prefix Trees - Implements a prefix tree (trie) to efficiently retrieve all entries starting with a specific sequence.
  • Quadtrees - A method for partitioning a two-dimensional area into four recursive quadrants to optimize spatial lookups.
  • Skip Lists - Implements a multi-layer linked list to achieve logarithmic search times in a sorted collection.
  • Huffman Tree Construction - Implements the construction of a Huffman tree from a frequency table for lossless compression.
  • Splay Trees - Implements a splay tree to optimize access time for recently used nodes.
  • Tree Modifications - Implements node insertion and splitting logic for maintaining capacity in hierarchical trees.
  • Tree Traversal & Querying - Provides algorithms for locating specific keys by traversing from the root through internal nodes.
  • Space Partitioning - A recursive subdivision of a 3D area into regions to locate objects by coordinates.
  • Bitwise Manipulation Primitives - Provides low-level bitwise manipulation primitives for executing AND, OR, XOR, and NOT operations.
  • Bit-Vector Set Implementations - Implements high-performance bit-vector sets for compact storage of boolean values.
  • Double-Ended Queues - A collection that allows for the addition and removal of elements from both the front and back.
  • Multimaps and Multisets - A collection that stores multiple instances of the same element to allow constant-time membership tests.
  • Segment Trees - Implements segment trees with the ability to update elements while maintaining aggregate values.
  • Rootish Array - A memory-efficient ordered collection that uses fixed-size blocks to minimize waste.
  • Extreme Value Finders - Provides functions for identifying the largest and smallest values in a dataset while minimizing comparisons.
  • Longest Common - Implements a dynamic programming approach to find the longest common sequence across two strings.
  • Edit Distance Calculators - Calculates the minimum number of insertions and deletions required to transform one sequence into another.
  • String Similarity Metrics - Measures string similarity by calculating the minimum operations required to transform one string into another.
  • 2D Geometric Modeling - Implements basic 2D geometric entities like points and lines for use in spatial algorithms.
  • Space Partitioning - A recursive subdivision of a 2D area into quadrants to locate points in rectangular regions.
  • Closest Pair of Points Algorithms - Provides a divide-and-conquer implementation to find the closest pair of points in a 2D set.
  • Combinatorial Calculations - Provides methods for determining the number of ways to choose a subset of elements where order does not matter.
  • Heuristic Graph Search Algorithms - Provides graph search implementations that use heuristics to prioritize the most promising paths toward a target node.
  • Huffman Coding Implementations - Implements the Huffman decoding process to restore original byte streams from compressed bits.
  • Multi-Dimensional Arrays - Implements a grid-format data manager that maps 2D coordinates to a linear array.
  • Bit Manipulation Techniques - Implements methods for performing operations on data at the individual bit level, including setting and clearing bits.
  • Minimum Spanning Tree Algorithms - Implements greedy algorithms to identify the minimum spanning tree within weighted graphs.
  • Shortest Path Algorithms - Implements dynamic programming algorithms to calculate the shortest path between all pairs of nodes.
  • Palindromic Sequence Analyzers - Includes a process for verifying if a string is a palindrome while ignoring case and non-word characters.
  • Combinatorial Generators - Implements algorithms for generating all possible permutations and combinations of a given set.
  • Convex Hull Computation - Implements algorithms for calculating the smallest convex polygon enclosing a set of points.
  • Quickhull Implementations - Ships a specific Quickhull implementation for efficient convex hull calculation.
  • Simulated Annealing - Provides an implementation of simulated annealing to approximate global maxima in discrete search spaces.
  • Permutation Calculations - Implements factorial-based methods for computing the number of ways to arrange a specific number of elements.
  • Point Orientation Algorithms - Provides logic to determine the orientation of a sequence of coordinates in a 2D plane.
  • Prefix Calculations - Implements a method for identifying the longest common starting sequence between two strings.
  • Range Query Structures - Provides constant-time range query execution for binary functions using precomputed intervals.
  • Run Length Encoding Implementations - Implements run-length decoding to restore data by expanding repeating sequences from counts.
  • Shortest Path Algorithms - Provides logic for calculating weighted paths in directed graphs, including support for negative weights.
  • Sorted Array Management - Implements a process for keeping arrays sorted by calculating insertion points via binary search.
  • Topological Sorts - Implements topological vertex ordering for directed acyclic graphs.
  • Weighted Graph Representations - Implements weighted edge definitions for creating directed or undirected graphs with numeric costs.
  • Combination Sum Algorithms - Implements algorithms to identify all unique subsets of numbers that sum to a specific target value.
  • Target Sum Pair Search - Provides a method for locating the indices of two integers in an array that add up to a specific target value.
  • Concurrency Control Primitives - Implements semaphores to manage resource contention and prevent deadlocks in concurrent environments.
  • Cycle Detection Algorithms - Provides algorithms for identifying loops and negative weight cycles within graph structures.
  • Hashed Heaps - Implements a hybrid heap and hash map structure to enable fast element lookups by value.
  • Heap Construction Algorithms - Provides a linear-time algorithm for transforming an unsorted array into a valid heap.
  • Collection Shuffling - Implements in-place array element shuffling to rearrange collections into a random order.
  • Bit Sequence Shifting - Provides operations for moving bits in a set left or right by a specified number of positions.
  • Value-Based Lists - A linked list using enums to provide value semantics and automatic copying.
  • Priority Queues - A collection that maintains the most important item at the front for efficient access.
  • Bounded - A priority queue that stores a fixed number of elements and ejects the lowest priority item when full.
  • Ring Buffers - Implements a fixed-size queue using circular indexing for efficient, constant-time operations.
  • Random Sampling - Provides random collection sampling using swaps and reservoir sampling to select fixed-size subsets.
  • Bubble Sorts - Provides a basic bubble sort implementation for ordering elements by swapping adjacent pairs.
  • Bucket Sorts - Implements bucket sort to distribute elements into bins based on value ranges for efficient ordering.
  • Counting Sorts - Implements counting sort to order integers by tracking the frequency of each distinct key.
  • Heap Sorts - Implements heap sort by converting a collection into a heap structure and repeatedly extracting the maximum value.
  • Hybrid Sorts - Provides a hybrid sorting implementation combining quicksort, heapsort, and insertion sort for optimized performance.
  • Insertion Sorts - Implements insertion sort to build sorted sequences by iteratively placing elements in their correct positions.
  • Merge Sorts - Implements merge sort as a divide-and-conquer strategy to ensure consistent time complexity during sorting.
  • Interval Querying - Implements logarithmic time range queries for associative functions over array intervals.
  • Quicksorts - Implements a recursive quicksort algorithm using partitioning and pivot selection to order arrays.
  • Radix Sorts - Implements radix sort to organize integers by processing individual digits without direct comparisons.
  • Selection Sorts - Implements selection sort to order elements by repeatedly identifying and swapping the minimum value.
  • Shell Sorts - Implements the shell sort algorithm to improve insertion sort efficiency using decreasing intervals.
  • Comb Sorts - Implements comb sort to eliminate small values from the end of a collection using a shrinking gap.
  • Sorted Element Removal - Provides a method for searching and removing a specific element from a sorted collection.
  • String Hashing Techniques - Provides a rolling hash implementation to locate substrings by comparing hashes of a sliding window.
  • String Processing Algorithms - Provides implementations for pattern matching and complex string manipulation algorithms.
  • Pattern Occurrence Location Algorithms - Implements algorithms for identifying all starting indices of a specific substring within a text.
  • Radix Trees - Implements a radix tree for high-performance string lookups and deletions.
  • Z-array Value Calculation - Implements Z-array pre-processing to find the longest substring matching a prefix in linear time.
  • Trie Data Structures - Provides the traversal logic required to lookup and verify the existence of keys within a trie.
  • Trie Key Insertion - Implements efficient trie insertion by leveraging common prefixes for character sequences.
  • Trie Key Removal - Implements key removal in tries that ensures shared prefix nodes are preserved for other entries.
  • Gestion des données - Educational implementations of common data structures and algorithms.
29,099 stars·4,966 forks·Swift·MIT·8 vues

Historique des stars

Graphique de l'historique des stars pour kodecocodes/swift-algorithm-clubGraphique de l'historique des stars pour kodecocodes/swift-algorithm-club

Questions fréquentes

Que fait kodecocodes/swift-algorithm-club ?

This project is a comprehensive collection of common computer science algorithms and data structures implemented in Swift. It serves as an educational reference and library for studying computational complexity, algorithmic logic, and data structure engineering through practical code examples.

Quelles sont les fonctionnalités principales de kodecocodes/swift-algorithm-club ?

Les fonctionnalités principales de kodecocodes/swift-algorithm-club sont : Swift Programming Guides, Algorithm Implementations, Computer Science Education, Contiguous Fixed Arrays, Graph Theory, Hash Maps, Divide And Conquer Algorithms, Multiway Search Trees.

Quelles sont les alternatives open-source à kodecocodes/swift-algorithm-club ?

Les alternatives open-source à kodecocodes/swift-algorithm-club incluent : wangzheng0822/algo — This project is a data structures and algorithms library providing a collection of fifty standard code implementations… azl397985856/leetcode — This project is a curated educational resource and solution repository for algorithmic challenges, specifically… humanwhocodes/computer-science-in-javascript — This is a collection of classic computer science algorithms and data structures implemented from scratch in… greyireland/algorithm-pattern — This project is an algorithm template library and coding interview study guide providing reusable code patterns for… mandliya/algorithms_and_data_structures — This project is a comprehensive collection of C++ libraries and toolkits providing reference implementations for data… kevin-wayne/algs4 — algs4 is a Java data structures library and algorithm reference collection designed as the source code for a standard…

Alternatives open source à Swift Algorithm Club

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Swift Algorithm Club.
  • wangzheng0822/algoAvatar de wangzheng0822

    wangzheng0822/algo

    23,159Voir sur GitHub↗

    This project is a data structures and algorithms library providing a collection of fifty standard code implementations for managing data and solving common computational problems. It serves as an algorithm implementation reference and study resource for educational use. The codebase covers graph theory implementations for modeling networks and performing searches, as well as string pattern matching libraries for the retrieval of character sequences. It includes a collection of hierarchical data structures, such as binary search trees and priority heaps, and provides optimized solutions for dy

    Python
    Voir sur GitHub↗23,159
  • azl397985856/leetcodeAvatar de azl397985856

    azl397985856/leetcode

    55,758Voir sur GitHub↗

    This project is a curated educational resource and solution repository for algorithmic challenges, specifically focused on LeetCode problems. It serves as a technical reference for common data structures and algorithmic patterns, providing verified code implementations across multiple programming languages alongside detailed logic and complexity analysis. The repository functions as a comprehensive study guide for competitive programming and technical interview preparation. It includes specialized learning tools such as an Anki flashcard dataset for spaced repetition and a browser extension t

    JavaScriptalgoalgorithmalgorithms
    Voir sur GitHub↗55,758
  • humanwhocodes/computer-science-in-javascriptAvatar de humanwhocodes

    humanwhocodes/computer-science-in-javascript

    9,119Voir sur GitHub↗

    This is a collection of classic computer science algorithms and data structures implemented from scratch in JavaScript. The project provides reference implementations of fundamental concepts including sorting algorithms, binary search, linked lists, and binary search trees, all built as standalone pure functions with no external dependencies. The implementations cover a range of data structures, including singly-linked, doubly-linked, and circular linked lists with full traversal and mutation operations, as well as binary search trees supporting insertion, deletion, and search. Sorting algori

    JavaScript
    Voir sur GitHub↗9,119
  • greyireland/algorithm-patternAvatar de greyireland

    greyireland/algorithm-pattern

    15,465Voir sur GitHub↗

    This project is an algorithm template library and coding interview study guide providing reusable code patterns for common data structures and algorithms. It serves as a reference for optimized strategies and a structured learning path to build proficiency in algorithmic problem solving and competitive programming. The library focuses on standardized implementations of key algorithmic patterns, including sliding windows, backtracking, dynamic programming, and binary search. It provides specific templates for managing binary search trees, searching rotated sorted arrays, and executing divide-a

    Goalgoalgorithmleetcode
    Voir sur GitHub↗15,465
Voir les 30 alternatives à Swift Algorithm Club→