# trees

Published articles for trees.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Testing 100k-Line Nested JSON Trees for Missing Scenarios

DevFeed: [Testing 100k-Line Nested JSON Trees for Missing Scenarios](<https://devfeed.tech/articles/how-we-test-100k-line-nested-json-trees-without-going-insane-40855.md>)

Original publisher: [Read original article](<https://mutto.fyi/posts/2025/08/test-mind-maps/>)

Published: 2025-08-11T00:00:00Z

Content type: article

Language: en

Sources: [Mutt0-ds Notes](<https://devfeed.tech/sources/mutt0-ds-notes.md>)

Topics: [JSON](<https://devfeed.tech/topics/json.md>), [test](<https://devfeed.tech/topics/test.md>)

Tags: [bugs](<https://devfeed.tech/tags/bugs.md>), [compliance](<https://devfeed.tech/tags/compliance.md>), [json](<https://devfeed.tech/tags/json.md>), [test](<https://devfeed.tech/tags/test.md>), [trees](<https://devfeed.tech/tags/trees.md>)

### AI overview

The article describes the challenge of reliably testing massive, deeply nested JSON logic files used by StoryTeller, a tool for generating personalized financial reports. Missing scenarios can cause reports to crash, and the article explains how the system's size and intertwined conditions make omissions difficult to detect.

### Source excerpt

Today I want to share an interesting challenge that's been bugging me since I joined InvestSuite last December. It's stories like this that...

## Using Python AST to resolve dependencies

DevFeed: [Using Python AST to resolve dependencies](<https://devfeed.tech/articles/using-python-ast-to-resolve-dependencies-39624.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2023-06-30_Using-Python-AST-to-resolve-dependencies-c849bd184020>)

Published: 2023-06-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Gaurav Sarma's Blog](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [syntax](<https://devfeed.tech/topics/syntax.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [ast](<https://devfeed.tech/tags/ast.md>), [code](<https://devfeed.tech/tags/code.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [import](<https://devfeed.tech/tags/import.md>), [modules](<https://devfeed.tech/tags/modules.md>), [object](<https://devfeed.tech/tags/object.md>), [python](<https://devfeed.tech/tags/python.md>), [python-dependencies](<https://devfeed.tech/tags/python-dependencies.md>), [repository](<https://devfeed.tech/tags/repository.md>), [resolver](<https://devfeed.tech/tags/resolver.md>), [startup](<https://devfeed.tech/tags/startup.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [tokens](<https://devfeed.tech/tags/tokens.md>), [trees](<https://devfeed.tech/tags/trees.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>)

### AI overview

This tutorial explains how to use Python's Abstract Syntax Trees to resolve dependencies among objects imported across modules in a complex repository. It proposes recursively analyzing imports and copying required object code and dependencies into a destination folder.

### Source excerpt

This article covers how to resolve python dependencies using Python's Abstract Syntax Trees (AST). There are different and maybe better ways to understand the scope of your python dependencies...

## BKD trees, used in Elasticsearch

DevFeed: [BKD trees, used in Elasticsearch](<https://devfeed.tech/articles/bkd-trees-used-in-elasticsearch-39614.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2020-05-30_BKD-trees--used-in-Elasticsearch-40e8afd2a1a4>)

Published: 2020-05-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Gaurav Sarma's Blog](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [data](<https://devfeed.tech/topics/data.md>), [geospatial](<https://devfeed.tech/topics/geospatial.md>)

Tags: [binary-search](<https://devfeed.tech/tags/binary-search.md>), [data](<https://devfeed.tech/tags/data.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [indexes](<https://devfeed.tech/tags/indexes.md>), [searching](<https://devfeed.tech/tags/searching.md>), [trees](<https://devfeed.tech/tags/trees.md>)

### AI overview

This tutorial explains how BKD trees extend binary search tree ideas to support multidimensional search, including geospatial data, and describes their use in Elasticsearch.

### Source excerpt

I had worked on Elasticsearch back in 2015, when it was more known for its text searching capabilities using inverted indexes. As I looked to pick it up again last year for another project, I saw that Elasticsearch had added core support for other data types from text like numbers, IP addresses, geospatial data types, etc...

## When Greedy Algorithms are Perfect: the Matroid

DevFeed: [When Greedy Algorithms are Perfect: the Matroid](<https://devfeed.tech/articles/when-greedy-algorithms-are-perfect-the-matroid-40364.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2014/08/26/when-greedy-algorithms-are-perfect-the-matroid/>)

Published: 2014-08-26T09:00:02Z

Content type: article

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>), [graph theory](<https://devfeed.tech/topics/graph-theory.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [math](<https://devfeed.tech/topics/math.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [graph-theory](<https://devfeed.tech/tags/graph-theory.md>), [graphs](<https://devfeed.tech/tags/graphs.md>), [greedy](<https://devfeed.tech/tags/greedy.md>), [greedy-algorithm](<https://devfeed.tech/tags/greedy-algorithm.md>), [kruskal-s-algorithm](<https://devfeed.tech/tags/kruskal-s-algorithm.md>), [linear-independence](<https://devfeed.tech/tags/linear-independence.md>), [matroids](<https://devfeed.tech/tags/matroids.md>), [minimum-spanning-trees](<https://devfeed.tech/tags/minimum-spanning-trees.md>), [trees](<https://devfeed.tech/tags/trees.md>), [vertex](<https://devfeed.tech/tags/vertex.md>)

### AI overview

This article explains when greedy algorithms are guaranteed to produce optimal solutions. It introduces matroids as the framework characterizing that guarantee and uses the minimum spanning tree problem as an example, with background on matroid history and connections to linear algebra and graph theory.

### Source excerpt

Greedy algorithms are by far one of the easiest and most well-understood algorithmic techniques. There is a wealth of variations, but at its core the greedy algorithm optimizes something using the natural rule, "pick what looks best" at any step. So a greedy routing algorithm would say to a routing problem: "You want to visit all these locations with minimum travel time? Let's start by going to the closest one. And from there to the next closest one.

## A Sample of Standard ML, the TreeSort Algorithm, and Monoids

DevFeed: [A Sample of Standard ML, the TreeSort Algorithm, and Monoids](<https://devfeed.tech/articles/a-sample-of-standard-ml-the-treesort-algorithm-and-monoids-40310.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2013/04/07/a-sample-of-standard-ml-and-the-treesort-algorithm/>)

Published: 2013-04-07T21:57:37Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Standard ML](<https://devfeed.tech/topics/standard-ml.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Category Theory](<https://devfeed.tech/topics/category-theory.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Polymorphism](<https://devfeed.tech/topics/polymorphism.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [category-theory](<https://devfeed.tech/tags/category-theory.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [ml](<https://devfeed.tech/tags/ml.md>), [monoids](<https://devfeed.tech/tags/monoids.md>), [programming](<https://devfeed.tech/tags/programming.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [standard-ml](<https://devfeed.tech/tags/standard-ml.md>), [trees](<https://devfeed.tech/tags/trees.md>), [universal-properties](<https://devfeed.tech/tags/universal-properties.md>)

### AI overview

A tutorial introducing Standard ML through functional programming, category theory, and the TreeSort algorithm. It explains why ML is used for manually implementing category-theoretic ideas and highlights parametric polymorphism and type inference.

### Source excerpt

In this post we will assume the reader has a passing familiarity with some of the basic concepts of functional programming (the map, fold, and filter functions). We introduce these topics in our Racket primer, but the average reader will understand the majority of this primer without expertise in functional programming. Follow-ups to this post can be found in the Computational Category Theory section of the Main Content page. Preface: ML for Category Theory A few of my readers have been asking for more posts about functional languages and algorithms written in functional languages.

## Trees--A Primer

DevFeed: [Trees--A Primer](<https://devfeed.tech/articles/trees-a-primer-40286.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2012/09/16/trees-a-primer/>)

Published: 2012-09-16T22:40:47Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [graph theory](<https://devfeed.tech/topics/graph-theory.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [Learning](<https://devfeed.tech/topics/learning.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [graph](<https://devfeed.tech/tags/graph.md>), [graph-theory](<https://devfeed.tech/tags/graph-theory.md>), [learning](<https://devfeed.tech/tags/learning.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [primer](<https://devfeed.tech/tags/primer.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [trees](<https://devfeed.tech/tags/trees.md>)

### AI overview

A primer on trees in graph theory. It defines trees as connected graphs without cycles, explains rooted-tree hierarchy, depth, leaves, and internal nodes, and introduces common algorithms on trees.

### Source excerpt

This post comes in preparation for a post on decision trees (a specific type of tree used for classification in machine learning). While most mathematicians and programmers are familiar with trees, we have yet to discuss them on this blog. For completeness, we'll give a brief overview of the terminology and constructions associated with trees, and describe a few common algorithms on trees. We will assume the reader has read our first primer on graph theory, which is a light assumption.

## Introduction to HAMT

DevFeed: [Introduction to HAMT](<https://devfeed.tech/articles/introduction-to-hamt-38908.md>)

Original publisher: [Read original article](<https://idea.popcount.org/2012-07-25-introduction-to-hamt>)

Author: Marek

Published: 2012-07-24T22:00:00Z

Content type: tutorial

Language: en

Sources: [Marek Majkowski](<https://devfeed.tech/sources/marek-majkowski.md>)

Topics: [Data structures](<https://devfeed.tech/topics/data-structures.md>), [hash](<https://devfeed.tech/topics/hash.md>), [Compression](<https://devfeed.tech/topics/compression.md>)

Tags: [array](<https://devfeed.tech/tags/array.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [compression](<https://devfeed.tech/tags/compression.md>), [data-structure](<https://devfeed.tech/tags/data-structure.md>), [data-structures](<https://devfeed.tech/tags/data-structures.md>), [hash](<https://devfeed.tech/tags/hash.md>), [memory](<https://devfeed.tech/tags/memory.md>), [trees](<https://devfeed.tech/tags/trees.md>)

### AI overview

This tutorial introduces Hash Array Mapped Tries (HAMTs) as a memory-efficient alternative to binary trees. It explains how tries store values, how naive array representations waste space, and how bitmap-based compression reduces the memory footprint while preserving efficient lookup proportional to prefix length.

### Source excerpt

Introduction to HAMT In the previous post I explained that a binary tree wasn't the best data structure for my needs - it wastes too much memory. I looked for a memory-efficient data structures and I found a gem: Hash Array Mapped Trie (HAMT). The author, Phil Bagwell, wrote two papers related to the subject: - Fast And Space Efficient Trie Searches, 2000 (pdf) (source) - In this paper the author is comparing various implementations of Tries and introduces Array Mapped Trie.