Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add famst crate: Fast Approximate Minimum Spanning Tree #93

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
jorendorff wants to merge 29 commits into main
base: main
Choose a base branch
Loading
from jorendorff/famst
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
6d04e9d
Add famst crate: Fast Approximate Minimum Spanning Tree
jorendorff Jan 14, 2026
c09952f
Fix O(n2) initialization bug in NN-Descent
jorendorff Jan 14, 2026
4ad3eb2
Unify duplicate loops in extract_mst
jorendorff Jan 14, 2026
9249548
Remove unnecessary edge deduplication in extract_mst
jorendorff Jan 14, 2026
c14f0cb
Unify n==0 and n==1 cases, remove debug println
jorendorff Jan 14, 2026
4ccefd9
Add tests for empty and single-point inputs
jorendorff Jan 14, 2026
60d85f2
Add test for k >= n case
jorendorff Jan 14, 2026
e37f359
Manual tweaks.
jorendorff Jan 17, 2026
b3a257b
Replace HashSets with sorted Vecs for memory efficiency
jorendorff Jan 17, 2026
12c98c9
Refactor AnnGraph to use single flat allocation
jorendorff Jan 17, 2026
2561f99
Make internal types private
jorendorff Jan 17, 2026
4ec0063
Switch to 32-bit types for memory efficiency
jorendorff Jan 17, 2026
2940252
extract nn_descent into separate file
aneubeck Jan 19, 2026
2d42e40
refactor a bit more
aneubeck Jan 19, 2026
4590627
use NodeId type everywhere
aneubeck Jan 19, 2026
7f8ee78
Update lib.rs
aneubeck Jan 19, 2026
ea848b5
improve find_components a bit
aneubeck Jan 19, 2026
0014f86
more simplifications
aneubeck Jan 19, 2026
dfad6d7
fix tests
aneubeck Jan 19, 2026
2375b36
start using rayon
aneubeck Jan 19, 2026
9b45210
introduce new marker
aneubeck Jan 19, 2026
a8af2c6
Update lib.rs
aneubeck Jan 19, 2026
d4e68c7
rewrite reverse edge computation
aneubeck Jan 19, 2026
5477533
Update nn_descent.rs
aneubeck Jan 19, 2026
34b6e1f
Use more cache-friendly loop
aneubeck Jan 19, 2026
ca7b074
slightly faster parallel version (but it seem like a single threaded ...
aneubeck Jan 19, 2026
c8c1689
fastest version so far
aneubeck Jan 19, 2026
8eb4090
Update nn_descent.rs
aneubeck Jan 19, 2026
4de8ce9
Update lib.rs
aneubeck Jan 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions crates/famst/Cargo.toml
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[package]
name = "famst"
version = "0.1.0"
edition = "2024"
description = "Fast Approximate Minimum Spanning Tree (FAMST) algorithm"
license = "MIT"

[dependencies]
rand = { version = "0.8", features = ["small_rng"] }
rayon = "1"

[dev-dependencies]
rand = "0.8"
Loading
Loading

AltStyle によって変換されたページ (->オリジナル) /