awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

Tree traversal library

Ranking updated Aug 7, 2026

For tree traversal utilities, the strongest matches are kpeeters/tree.hh (This C++ header-only tree library provides STL-like containers and), sebastianbergmann/object-enumerator (This library crawls and enumerates nested object graphs to) and jqlang/jq (This command-line JSON processor uses a recursive tree traversal). davecgh/go-spew and redisjson/redisjson round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Compare the top open-source tree traversal libraries ranked by GitHub stars, features, and activity to find the best fit.

Tree traversal library

Find the best repos with AI.We'll search the best matching repositories with AI.
  • kpeeters/tree.hhkpeeters avatar

    kpeeters/tree.hh

    154View on GitHub↗

    An STL-like C++ header-only tree library

    This C++ header-only tree library provides STL-like containers and algorithms for hierarchical data structures, though it is narrower than the full set of traversal and transformation features requested.

    C++Data Structures
    View on GitHub↗154
  • sebastianbergmann/object-enumeratorsebastianbergmann avatar

    sebastianbergmann/object-enumerator

    6,537View on GitHub↗

    Object-enumerator is a data structure crawler and enumeration library designed to discover and list all objects stored within deep or circular data references. It functions as a traversal tool that recursively walks through nested arrays and object graphs to identify every individual referenced object. The library flattens complex hierarchical data structures into a linear collection of unique objects. This process enables data structure analysis and memory reference mapping by tracing all objects connected to a root element to understand the overall composition of a data set.

    This library crawls and enumerates nested object graphs to flatten hierarchies and track references, but it is focused specifically on object-graph analysis rather than general tree traversal and query operations.

    PHPIterative and Recursive TraversalsDepth-First Traversal
    View on GitHub↗6,537
  • jqlang/jqjqlang avatar

    jqlang/jq

    34,901View on GitHub↗

    This project is a command-line processor designed for the parsing, filtering, and transformation of structured data streams. It functions as a declarative programming environment that treats data as immutable streams, allowing users to perform complex structural modifications through the composition of small, reusable functions. By utilizing a recursive tree traversal engine, the system enables the navigation, inspection, and modification of deeply nested hierarchical data structures. The engine distinguishes itself through a stream-oriented architecture that processes input records one by on

    This command-line JSON processor uses a recursive tree traversal engine to inspect and transform hierarchical data streams, but it is a standalone CLI tool rather than a software library for embedding in code.

    CPath ExtractorsTree Traversal Engines
    View on GitHub↗34,901
  • davecgh/go-spewdavecgh avatar

    davecgh/go-spew

    6,393View on GitHub↗

    go-spew is a deep inspection library and debugging utility for Go. It functions as a data structure pretty printer that renders complex, nested types into human-readable strings with indentation and type information. The library provides specialized capabilities for visualizing internal program states, including the ability to dump data structures with pointer addresses and map keys. It includes a configuration system to adjust printing behavior, such as limiting recursion depth and setting indentation. The tool uses reflection-based type inspection and recursive tree traversal to handle nes

    This repository is a debugging utility and pretty printer rather than a general-purpose library for traversing, manipulating, and querying tree data structures in application logic.

    GoIterative and Recursive Traversals
    View on GitHub↗6,393
  • redisjson/redisjsonRedisJSON avatar

    RedisJSON/RedisJSON

    3,954View on GitHub↗

    RedisJSON is a system for storing and managing JSON data within Redis using a native binary format. It enables the storage of JSON documents and the retrieval of nested data using targeted path syntax. The project provides the ability to perform atomic updates on individual elements within a nested JSON object, allowing for modifications without retrieving and rewriting the entire document. It further supports NoSQL data indexing by creating secondary indexes on specific fields to accelerate search and filtering operations across datasets. Its broader capabilities cover hierarchical data ret

    RedisJSON provides path-based retrieval and nested data extraction for JSON documents, but it is a database module rather than a utility library for programmatic tree traversal and manipulation.

    RustPath-Based Data Access
    View on GitHub↗3,954
  • amejiarosario/dsa.js-data-structures-algorithms-javascriptamejiarosario avatar

    amejiarosario/dsa.js-data-structures-algorithms-javascript

    7,768View on GitHub↗

    This project is a computer science educational resource and library providing implementations of data structures and algorithms in JavaScript. It serves as an algorithm implementation reference and a toolkit for building foundational data containers, including a collection of sorting algorithms and a guide for learning time and space complexity. The project differentiates itself by pairing class-based implementations with Big O analysis to illustrate asymptotic complexity. It includes a non-linear data structure toolkit featuring self-balancing trees, hash maps, and graphs, alongside comparis

    This repository is a broad educational algorithms and data structures collection rather than a dedicated tree traversal and manipulation library, making it a general building block rather than a targeted tool for complex tree operations.

    JavaScriptIterative and Recursive TraversalsHierarchical Tree Structures
    View on GitHub↗7,768
  • frontend-collective/react-sortable-treefrontend-collective avatar

    frontend-collective/react-sortable-tree

    4,971View on GitHub↗

    This project is a React drag-and-drop tree component and tree data management utility used for rendering nested hierarchical data. It provides a sortable hierarchical list that allows users to manage parent-child relationships and visualize complex tree structures. The component enables interactive tree restructuring, where users can reorganize the hierarchy by dragging and dropping nodes to change their parent or sequence. It supports moving or copying nodes between different tree instances and provides controls to enforce movement restrictions based on custom logic or depth limits. The too

    This repository is a React UI component for interactive drag-and-drop tree reordering rather than a general-purpose programmatic tree traversal and manipulation library.

    JavaScriptRecursive Tree Transformers
    View on GitHub↗4,971
  • nikic/php-parsernikic avatar

    nikic/PHP-Parser

    17,437View on GitHub↗

    PHP-Parser is a tool that converts PHP source code into an abstract syntax tree for static analysis and programmatic manipulation. It functions as a parser, a code generator, and a static analysis framework. The project enables the programmatic construction of abstract syntax tree nodes through a fluent interface and provides the ability to transform these trees back into formatted source code. It includes a serializer that exports abstract syntax trees to JSON format and reconstructs them from strings. The toolset covers several capability areas, including namespace resolution, constant exp

    This repository is a PHP source code parser and abstract syntax tree toolkit rather than a general-purpose tree traversal and manipulation utility library.

    PHPVisitor Patterns
    View on GitHub↗17,437
  • googlearchive/observe-jsgooglearchive avatar

    googlearchive/observe-js

    1,342View on GitHub↗

    Observe-js is a JavaScript library designed for reactive state management and automated data synchronization. It provides a framework for monitoring complex data structures, allowing applications to maintain consistency by automatically triggering updates whenever object properties, nested paths, or collection contents are modified. The library distinguishes itself through granular observation capabilities, including the ability to track specific array mutations and deep object changes using low-level property interception. It employs path-based dependency resolution to map complex data struc

    This library focuses on reactive state management and property observation rather than providing general-purpose tree traversal and manipulation utilities.

    JavaScriptPath-Based Data Access
    View on GitHub↗1,342
  • unifiedjs/unifiedunifiedjs avatar

    unifiedjs/unified

    4,999View on GitHub↗

    Unified is a syntax tree processing engine and content ecosystem designed to parse, transform, and serialize text content. It functions as a plugin-based content pipeline that converts raw text into structured abstract syntax trees using plain JavaScript objects for programmatic inspection and modification. The project distinguishes itself through a modular architecture that enables cross-ecosystem translation, allowing syntax trees to be converted between different specifications such as HTML and Markdown. It utilizes a system of immutable processor cloning and shared state containers, ensur

    Unified is a syntax tree processing engine focused on content pipelines and format conversion rather than a general-purpose tree traversal and manipulation library.

    JavaScriptRecursive Tree Transformers
    View on GitHub↗4,999
  • ronami/meta-typingronami avatar

    ronami/meta-typing

    1,576View on GitHub↗

    Meta-typing is a TypeScript metaprogramming toolkit that executes complex algorithms, mathematical operations, and data structure traversals entirely within compile-time type definitions. It functions as a type-level computation engine that evaluates numeric expressions, basic arithmetic, and aggregate calculations through recursive type evaluation and tuple-based data representations during the compilation phase. The library implements a comprehensive collection of advanced algorithms and data structures, including collection manipulation utilities for array slicing, filtering, merging, and

    This repository implements tree traversal algorithms and data structures using TypeScript type-level metaprogramming at compile-time rather than runtime, making it a specialized building block rather than a standard runtime library for traversing and querying tree data.

    TypeScriptTree Traversal Algorithms
    View on GitHub↗1,576
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
kpeeters/tree.hh154C++GPL-3.0Jul 19, 2024
sebastianbergmann/object-enumerator6.5KPHPBSD-3-ClauseJun 22, 2026
jqlang/jq34.9KCNOASSERTIONJun 16, 2026
davecgh/go-spew6.4KGoISCApr 6, 2024
redisjson/redisjson4KRustNOASSERTIONJun 23, 2026
amejiarosario/dsa.js-data-structures-algorithms-javascript7.8KJavaScriptMITJan 30, 2024
frontend-collective/react-sortable-tree5KJavaScriptMITFeb 3, 2026
nikic/php-parser17.4KPHPBSD-3-ClauseFeb 26, 2026
googlearchive/observe-js1.3KJavaScript—Nov 12, 2015
unifiedjs/unified5KJavaScriptMITApr 29, 2026

Related searches

  • Code browser
  • a library for resolving file system paths
  • DOM interaction library
  • a reusable tree view component for web
  • Type inference utilities
  • a library for browser automation and scraping
  • Component inspection tools
  • System utilities