btree is a Go implementation of a B-Tree. This project is intended for learning purposes so the code is relatively small (<500LOC) and highly documented.
The goal of this repository is to share solutions to a common problem of traversing and annotating data-structures across a variety of programming languages.
Based on a immutable persistent Hash Array Mapped Trie (HAMT)
Minimal interface to the core HAMT implementation so that you can easily implement your own structures on top of it.
slidingwindow
Golang implementation of Sliding Window Algorithm for distributed rate limiting.
Installation
$ go get -u github.com/RussellLuo/slidingwindow
Design
slidingwindow is an implement
xxhash
xxhash is a Go implementation of the 64-bit xxHash algorithm, XXH64. This is a high-quality hashing algorithm that is much faster than anything in the Go standard library.
This package provides a straightforw
Downsampling Algorthim
The Golang implemtation for downsampling time series data algorthim
Downsampling Algorthim
Background
Acknowledgement
Usage
Peformance
Profiling
Benchmark
low
low level data type and utils in Golang.
A stable low level function set is the basis of a robust architecture. It focuses on stability and requires high test coverage.
Status
This project has
go-lcss
Fast Longest Common Substring algorithm in Go.
Overview • How To Use • Installation • Contributions • License
Overview
Longest Common Substring (don't confuse with Longest Common Subs
The Algorithms - Go
Algorithms implemented in Go (for education)
These algorithms are for demonstration purposes only. There are many sort implementations in the Go standard library that may have better perfo
go-tsne
A Go implementation of t-Distributed Stochastic Neighbor Embedding (t-SNE), a prize-winning technique for dimensionality reduction particularly well suited for visualizing high-dimensional datasets.
geohashtree
What is it?
This library is designed to construct and use large k/v stores to do super quick point-in-polygon queries. This isn't something that I haven't tried before in go but this time with a m
hashmap
Overview
A Golang lock-free thread-safe HashMap optimized for fastest read access.
Usage
Set a value for a key in the map:
m := &HashMap{}
m.Set("amount", 123)
Read a value for
ppds
Pretty Print Data Structures
Stacks, queues, trees and linked lists are data structures that you might find yourself working with quite often. This library lets you pretty print these with minimum effort. Certa
kmeans
k-means clustering algorithm implementation written in Go
What It Does
k-means clustering partitions a multi-dimensional data set into k clusters, where each data point belongs to the cluster with the
go-algorithms
go-algorithms - implementation of different algorithms and data structures with golang.
Usage
Clone https://github.com/0xAX/go-algorithms.git repo, it must be in your $GOPATH.
hamt
Immutable and Memory Efficient Maps and Sets in Go.
This package hamt provides immutable collection types of maps (associative arrays) and sets implemented as Hash-Array Mapped Tries (HAMTs). All operations o
wikiracer
Finds a path between two Wikipedia articles, using only Wikipedia links.
Approach
Wikiracer runs a one-way parallel BFS (Breadth First Search) from the given start URL to crawl the graph of Wikiped
Clusters
Go implementations of several clustering algoritms (k-means++, DBSCAN, OPTICS), as well as utilities for importing data and estimating optimal number of clusters.
The reason
This library was built
Just write your own map wrappers
mapgen
A tool which generates thread safe maps for Go.
Features:
Supports any key/value pair supported by Go's native maps
Allows complex operations via Lock() and Unlock()
Gen