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
·
kevin-wayne avatar

kevin-wayne/algs4

0
View on GitHub↗
7,519 stars·2,667 forks·Java·GPL-3.0·8 vuesalgs4.cs.princeton.edu/code↗

Algs4

algs4 is a Java data structures library and algorithm reference collection designed as the source code for a standard computer science textbook curriculum. It provides a comprehensive suite of fundamental implementations for sorting, searching, and core data organization.

The project serves as a graph theory framework, offering tools for representing directed and undirected graphs and performing complex traversals and pathfinding. It also includes a broad sorting algorithm suite and a specialized library of Java data structures, including stacks, queues, priority queues, and symbol tables.

Its capabilities extend to computational geometry for spatial analysis, text processing for indexing and filtering, and statistical tools for data analysis. The library also provides utilities for vector arithmetic, media processing, and algorithmic performance benchmarking to measure execution time and scaling.

Features

  • Data Structure Implementations - Provides a comprehensive reference collection of fundamental data structure implementations including stacks, queues, and graphs.
  • Algorithmic Reference Implementations - Provides standardized reference implementations of fundamental sorting, searching, and graph algorithms for educational use.
  • Algorithm Reference Libraries - Serves as a comprehensive collection of standard algorithm implementations and data structures for educational reference.
  • Indexed - Provides an indexed priority queue to efficiently retrieve and update elements associated with integer indices.
  • Graph Theory - Offers a mathematical framework for representing graphs and performing traversals and pathfinding.
  • Graph Cycle Detection - Includes algorithms to determine if a directed graph contains cycles.
  • Graph Topology Analysis - Traverses networks to analyze structural properties such as cycles, strong components, and planarity.
  • Hash Tables - Implements a hash table symbol table using separate chaining for constant-time key-value lookups.
  • Linear Probing Implementations - Implements a symbol table using linear probing to resolve hash collisions in an array.
  • Adjacency Lists - Provides an adjacency list implementation for representing graphs and optimizing network traversal.
  • Sorted Sets - Implements a sorted integer set using a sorted array for fast membership queries and rank lookups.
  • Divide And Conquer Algorithms - Implements recursive divide-and-conquer algorithms for efficient sorting and searching of data.
  • Graph Traversal Algorithms - Provides implementations for visiting vertices in graphs using depth-first and breadth-first searches.
  • Resizable Array Collections - Provides resizable array collections that maintain amortized constant time for data storage.
  • Balanced Search Trees - Implements self-balancing binary search trees to maintain logarithmic time complexity for membership lookups.
  • AVL Tree Operations - Provides a symbol table implementation using self-balancing AVL trees for efficient key-value retrieval.
  • Graph Algorithm Utilities - Offers auxiliary graph operations including vertex degree calculation and edge management.
  • Connected Component Analysis - Implements algorithms for grouping nodes in undirected graphs into connected components.
  • Sorting Algorithms - Includes a wide suite of educational sorting implementations including quicksort, mergesort, and heapsort.
  • Curriculum Implementation Sources - Provides the full set of source code and libraries used as the implementation reference for a standard algorithms textbook.
  • FIFO Queues - Implements a first-in-first-out queue using a resizing array for amortized constant time operations.
  • Java Utility Libraries - Provides a comprehensive library of reference data structures, such as stacks and symbol tables, implemented in Java.
  • LIFO Stacks - Implements a last-in-first-out stack for managing a collection of generic items with constant-time operations.
  • Heaps - Implements binary heaps to provide a min-priority queue for efficient removal of the minimum element.
  • Sorted Array Symbol Tables - Implements a symbol table using sorted arrays to support fast retrieval and range queries.
  • Data Structure Implementations - Implements fundamental containers like priority queues, symbol tables, and stacks to manage data efficiently.
  • Graph Pathfinding Algorithms - Algorithms and Data Structures finds the longest paths from a single source to all other vertices in directed acyclic graphs.
  • Network Graph Analysis - Analyzes network topology and computes shortest paths or connectivity in directed and undirected graphs.
  • Shortest Path Algorithms - Implements algorithms to calculate paths from a source vertex to all reachable vertices.
  • Topological Sorting - Produces a linear ordering of vertices for acyclic directed graphs.
  • Multiset Implementations - Implements a generic bag collection as a multiset using a singly linked list.
  • Disjoint Set Union - Provides a disjoint-set union data structure for tracking and merging non-overlapping sets.
  • Hash Tables - Implements hash tables using separate chaining with linked lists to resolve collisions.
  • Heaps - Implements binary heaps to provide a max-priority queue for extracting the largest element.
  • Singly - Provides a singly-linked list implementation for constant-time insertion and iteration of generic items.
  • Priority Heaps - Implements a binary heap to provide efficient extraction of minimum or maximum elements in a priority queue.
  • Sorting Algorithms - Provides high-performance sorting implementations including three-pivot quicksort and Timsort.
  • Quicksorts - Implements an optimized quicksort featuring 3-way partitioning and adaptive pivot selection.
  • Linear Regression - Provides linear regression capabilities to estimate response variables based on predictor values.
  • Negative Cycle Detection - Identifies negative cycles in directed graphs, useful for finding currency arbitrage opportunities.
  • Full-Text Inverted Indexes - Implements an inverted index that maps individual words to the files containing them for fast document retrieval.
  • User Rank Retrievals - Implements rank-based retrieval to locate keys based on their relative order or specific numerical position.
  • Node Reachability Analyses - Provides algorithms to determine reachability between nodes in a directed graph using depth-first search.
  • Order-Based Lookups - Provides capabilities to find minimum, maximum, floor, and ceiling keys within sorted symbol tables.
  • Search and Indexing - Builds inverted indexes and filters text streams to enable fast word retrieval and document search.
  • Algorithmic Performance Comparison - Measures execution time and CPU usage to analyze the growth rate and scaling of different algorithms.
  • Network Flow Algorithms - Computes maximum flow and minimum-cost flow using network simplex and bipartite matching.
  • Eulerian Tour Algorithms - Implements algorithms to identify Eulerian cycles that visit every edge in a directed graph exactly once.
  • Wall-Clock Time Measurement - Measures total elapsed wall-clock time between timer initialization and request.
  • Bipartite Analysis - Detects whether an undirected graph is bipartite or contains an odd-length cycle.
  • Inversion Counting Algorithms - Implements an inversion counting algorithm using a modified mergesort to identify out-of-order pairs in a sequence.
  • Computational Geometry - Provides tools for representing points and intervals to calculate intersections and spatial orientations.
  • Statistical Metric Calculators - Calculates mathematical metrics from datasets to analyze trends and patterns in numerical information.
  • Online Running Statistics - Implements one-pass algorithms for tracking mean, sample standard deviation, and variance of a real number stream.
  • Sparse Vector Storage - Implements d-dimensional mathematical vectors using symbol tables of nonzero coordinates to optimize memory.
  • Vector Operations - Provides mathematical primitives for vector arithmetic including dot products, addition, and scalar products.
  • Sorted Array Merging - Provides a mechanism to merge multiple sorted input streams into a single sorted output using a priority queue.
  • Trie Data Structures - Uses tries and radix sorts for efficient string storage, sorting, and prefix-based lookups.
  • CPU Time Profiling - Tracks actual processor time consumed by specific threads to evaluate computational efficiency.

Historique des stars

Graphique de l'historique des stars pour kevin-wayne/algs4Graphique de l'historique des stars pour kevin-wayne/algs4

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 à Algs4

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Algs4.
  • kodecocodes/swift-algorithm-clubAvatar de kodecocodes

    kodecocodes/swift-algorithm-club

    29,099Voir sur GitHub↗

    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

    Swiftalgorithmsdata-structuresswift
    Voir sur GitHub↗29,099
  • 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
  • awangdev/leet-codeAvatar de awangdev

    awangdev/leet-code

    4,344Voir sur GitHub↗

    This project is a curated reference library of algorithmic patterns, data structure implementations, and system design notes. It serves as a Java algorithmic problem set and a competitive programming guide, providing a collection of solutions for coding challenges from platforms like LeetCode and LintCode. The library is distinguished by its comprehensive set of Java implementations for advanced data structures and algorithmic strategies. It includes detailed references for solving complex problems with accompanying time and space complexity analysis. The project covers a broad surface of co

    Javaalgorithmdynamicprogrammingjava
    Voir sur GitHub↗4,344
  • coells/100daysAvatar de coells

    coells/100days

    7,488Voir sur GitHub↗

    This project is a comprehensive collection of computer science implementations and an algorithm tutorial repository. It serves as a study guide and reference for competitive programming, providing executable code examples that demonstrate fundamental algorithmic problem solving and mathematical computation. The library covers a wide range of specialized domains, including cryptography and security primitives, lossless data compression techniques, and computational geometry for spatial analysis. It also features implementations of machine learning models, linear algebra operations, and formal

    Jupyter Notebook
    Voir sur GitHub↗7,488
Voir les 30 alternatives à Algs4→

Questions fréquentes

Que fait kevin-wayne/algs4 ?

algs4 is a Java data structures library and algorithm reference collection designed as the source code for a standard computer science textbook curriculum. It provides a comprehensive suite of fundamental implementations for sorting, searching, and core data organization.

Quelles sont les fonctionnalités principales de kevin-wayne/algs4 ?

Les fonctionnalités principales de kevin-wayne/algs4 sont : Data Structure Implementations, Algorithmic Reference Implementations, Algorithm Reference Libraries, Indexed, Graph Theory, Graph Cycle Detection, Graph Topology Analysis, Hash Tables.

Quelles sont les alternatives open-source à kevin-wayne/algs4 ?

Les alternatives open-source à kevin-wayne/algs4 incluent : kodecocodes/swift-algorithm-club — This project is a comprehensive collection of common computer science algorithms and data structures implemented in… wangzheng0822/algo — This project is a data structures and algorithms library providing a collection of fifty standard code implementations… awangdev/leet-code — This project is a curated reference library of algorithmic patterns, data structure implementations, and system design… coells/100days — This project is a comprehensive collection of computer science implementations and an algorithm tutorial repository.… xtaci/algorithms — This is a collection of classical algorithms and data structures implemented as a header-only C++ library. It provides… jack-lee-hiter/algorithmsbypython — AlgorithmsByPython is a reference library and educational repository providing runnable Python implementations of…