TheAlgorithms/Dart
59.5
Weak · 23 September 2026
6.6k
lines of production code
Dart
primary language
5
measurements over time
What this system is
This system is a comprehensive collection of algorithmic implementations and data structure libraries, primarily written in Dart. It provides a wide range of computational tools, including sorting, searching, graph traversal, dynamic programming, and mathematical utilities. The codebase also includes solutions to specific mathematical problems and various standard data structures like heaps, queues, and trees, each accompanied by unit tests.
Features
Add Dart solution for Project Euler Problem 1
A new Dart implementation for Project Euler Problem 1 has been added to the project. The \sol1.dart\ file provides a mathematical solution to calculate the sum of all multiples of 3 or 5 below a given number N, using arithmetic progression formulas. The file includes the core \sol\ function and a \main\ entry point for testing.
_project\_euler/problem\1 · high confidence
Add Min and Max Heap implementations with tests
Added new binary heap data structures for Dart: a MinHeap and a MaxHeap, each including unit tests to verify insertion, removal, and peek operations. Additionally, a functional min-heap implementation was added to support array-based heap building and adjustment operations.
_data\structures/Heap · high confidence
Add N-Queens and Open Knight's Tour backtracking algorithms
Added implementations for the N-Queens problem and the Open Knight's Tour problem, both using backtracking. The N-Queens solution includes unit tests for board sizes 1 through 10. The Open Knight's Tour solution includes unit tests for valid position calculation, board completion checks, and the main tour algorithm for various board sizes.
backtracking · high confidence
Add binary tree implementations and traversal algorithms
Users can now use new binary tree data structures and algorithms. The repository includes a basic binary tree implementation with functions to calculate tree depth and check if a tree is full. Additionally, a new file provides implementations for in-order, pre-order, post-order, and level-order traversals of a binary tree, each accompanied by corresponding unit tests.
_data\_structures/binary\tree · high confidence
Add multiple search algorithm implementations in Dart
Added new search algorithm implementations for binary, Fibonacci, interpolation, jump, linear, peak element, and ternary searches. Each algorithm is implemented in its own Dart file within the search directory, providing users with a variety of search strategies to choose from.
search · high confidence
Add new algorithm implementations in other/
Added several new algorithm implementations in the other/ directory, including FizzBuzz, LCM, Moore voting algorithm, N-bonacci sequence, Ackermann function, binary exponentiation, Chinese Remainder Theorem, Collatz conjecture, Fisher-Yates shuffle, GCD, Haversine formula, Heap's algorithm, Kadane's algorithm, magic number check, bit swapping, and Tower of Hanoi. These additions expand the available algorithms for users to reference or run.
array, other · high confidence
Add new dynamic programming algorithms and implementations
Added implementations for the 0/1 Knapsack problem (recursive solution), Kadane's algorithm for maximum subarray sum, coin change (minimum coins), minimum number of jumps, longest common subsequence, and longest common substring, each with corresponding test cases.
_dynamic\programming · high confidence
Add new queue implementations: Circular, List-based, and Priority queues
Added three new queue data structure implementations in the data\_structures/Queue directory: a CircularQueue with a fixed-size array and head/tail pointers, a ListQueue using an internal list with shift-based dequeuing, and a PriorityQueue that orders items by integer priority. Each implementation includes a test suite verifying enqueue, dequeue, and edge-case behaviors.
_data\structures/Queue · high confidence
Add path-sum tree traversal implementation
A new Dart file, trees/path\_sum.dart, was added to implement the path-sum algorithm. It defines a TreeNode class and a recursive traverse function that checks if a root-to-leaf path sum matches a target. The file also includes two test cases verifying the hasPathSum function against a sample tree structure.
trees · high confidence
Add solution for Project Euler Problem 13
Added a new Dart implementation for Project Euler Problem 13, which calculates the first ten digits of the sum of one hundred 50-digit numbers. The file \sol13.dart\ provides three different approaches (using \reduce\, \forEach\, and a standard \for\ loop) to compute the total, printing the first ten digits of the result.
(repo-wide) · high confidence
Added HashMap and Hashing implementations with tests
Introduced two new data structure implementations in the data\_structures/HashMap directory: a generic HashMap with insert, get, and update capabilities, and a simpler Hashing-based HashMap using linked lists. Both include unit tests verifying insertion, retrieval, and update behavior.
_data\structures/HashMap · high confidence
Added solution for Project Euler Problem 2
A new Dart implementation for Project Euler Problem 2 (Even Fibonacci numbers) has been added. The file \project\_euler/problem\_2/sol2.dart\ introduces a function to calculate the sum of even-valued terms in the Fibonacci sequence up to four million, along with a driver code to execute and print the result.
(repo-wide) · medium confidence
Added stack implementations and a bracket-balancing algorithm
Users can now use two new stack data structures: an array-based stack (ArrayStack) and a linked-list-based stack (LinkedListStack), each with push, pop, and state-checking methods. Additionally, a new algorithm (balanced\_brackets) was added to verify if a string of brackets is balanced, utilizing a generic Stack interface.
_data\structures/Stack · high confidence
Adds multiple new sorting algorithm implementations
The sort directory now includes new implementations for bubble, cocktail, comb, count, gnome, heap, insert, merge, pigeonhole, quick, radix, selection, shell, and Tim's sort. Each algorithm is provided as a standalone Dart file, with several including unit tests to verify correctness on empty lists, single-element lists, and standard sorting scenarios.
sort · high confidence
Expanded base conversion utilities
Added new conversion algorithms and test cases for converting between decimal, binary, octal, hexadecimal, and Roman numeral representations. Specifically, the diff introduces implementations for Decimal to Any Base, Decimal to Binary, Decimal to Hexadecimal, Decimal to Octal, Integer to Roman, Binary to Decimal, Binary to Hexadecimal, Binary to Octal, Hexadecimal to Binary, Hexadecimal to Decimal, Hexadecimal to Octal, Octal to Binary, Octal to Decimal, Octal to Hexadecimal, and Roman to Integer, each with corresponding unit tests.
conversions · high confidence
Expanded mathematical algorithms and utilities
Added implementations for a wide range of mathematical functions and algorithms, including Armstrong numbers, Kynea numbers, linear Diophantine equations, ugly numbers, absolute value, absolute max/min, amicable numbers, average, Euler's totient function, factorial (iterative, recursive, and approximation), factors, Fermat's little theorem, Fibonacci (dynamic programming and recursion), finding max/min (iterative and recursive), Hamming distance, LU decomposition, Newton's method, palindrome checks, perfect numbers, power of two, prime checking, ReLU function, Shreedharacharya's formula, Sieve of Eratosthenes, sigmoid function, Simpson's rule, sphenic numbers, and symmetric derivatives.
maths · high confidence
New graph algorithms and utilities added
Added implementations for Breadth-First Search, Depth-First Search, Nearest Neighbour search, and area of island calculation, each with corresponding test cases.
graphs · high confidence
New linked list algorithms and implementations
Added three new linked list algorithms: a cycle detection implementation using the fast and slow pointer technique, a generic LinkedList class supporting push, pop, add, and remove operations, and a function to merge two sorted linked lists. Each algorithm includes its own set of unit tests to verify correctness.
_data\_structures/linked\list · high confidence
New string algorithm implementations and tests
Added new Dart implementations for string algorithms: isomorphic strings, Knuth-Morris-Pratt pattern matching, removing duplicates, reversing strings, and reversing words in a string. Each implementation includes corresponding unit tests to verify functionality.
strings · high confidence
Dependencies
Updated Dart project dependencies and SDK constraints
The project's pubspec.yaml has been updated to specify Dart SDK version 3.11.0 and updated dependency versions, including test 1.15.4, coverage 1.6.0, and stack 0.2.1.
(dependencies) · medium confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 59 → 59 (+1.0)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 98 (new)
- Architecture 100 → 98 (-1.5)
- Maturity 65 → 68 (+2.8)
- Readiness 36 → 36 (+0.0)
- Security 85 → 82 (-3.5)
- Domain Modelling 100 → 100 (+0.0)
Resolved (6)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High: security finding (details withheld)
- High: security finding (details withheld)
- No exposed public API
- complexity unreadable for .dart — churn × complexity hotspots could not be measured
- dormant codebase — no living knowledge left to concentrate
New (18)
- Documentation: no installation or build instructions (README.md)
- Documentation: no licence statement (README.md)
- Duplicated block (29 lines × 2) (graphs/breadth_first_search.dart)
- Duplicated block (6 lines × 2) (data_structures/Heap/Binary_Heap/Max_heap.dart)
- Duplicated block (7 lines × 2) (data_structures/Heap/Binary_Heap/Max_heap.dart)
- Duplicated block (7 lines × 2) (maths/lu_decomposition.dart)
- Duplicated block (9 lines × 2) (data_structures/Heap/Binary_Heap/Max_heap.dart)
- Duplicated block (9 lines × 2) (data_structures/Heap/Binary_Heap/Max_heap.dart)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Low cohesion: Matrix (LCOM4 7) (maths/lu_decomposition.dart)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- No dependency advisory monitoring
- Workflow token permissions not restricted
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
TheAlgorithms/Dart was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 23 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 73da8ab4ea413eee9bf29aa2263157d86060f871 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-955b9cee9818.