125 Repositories
Go algorithm Libraries
Randomly generated tile maps using Oskar Stålberg's wave function collapse algorithm
go-wfc Procedurally-generated tile maps using wave function collapse. Demos Live demo (wasm): https://zfedoran.github.io/go-wfc-example/ Live algorith
Data Structures and Algorithms implementation in Go
Data Structures and Algorithms Clean and simple implementation in Go Implementation There are several data structures and algorithms implemented in th
Implementation of the Feynman algorithm to solve any problem!
Feynman Algorithm Allegedly coined in jest by Murray Gell-Mann to describe Richard Feynman's incredible problem solving ability, this simple algorithm
Ratelimit - This package provides a Golang implementation of the leaky-bucket rate limit algorithm
Go rate limiter This package provides a Golang implementation of the leaky-bucke
Go-enum-algorithm - Implement an enumeration algorithm in GO
go-enum-algorithm implement an enumeration algorithm in GO run the code go run m
Go-opera-test - EVM-compatible chain secured by the Lachesis consensus algorithm
Opera EVM-compatible chain secured by the Lachesis consensus algorithm. Building
An API for hashing password in PostgreSQL with Golang
hashing-password An API for hashing password in PostgreSQL with Golang Using PostgreSQL to store Encrypted string (can be passwords ideally) using Sal
6.824-Raft - There are three roles in Raft algorithm, Follower, Candidate, Leader, each node store currentTerm, votedFor and log
6.824-Raft Raft note There are three roles in Raft algorithm, Follower, Candidat
Smartsort - A smart sorting algorithm for Go to sort filename containing digits that is not zero padded
smartsort A smart sorting algorithm for Go to sort filename containing digits th
Length-preserving encryption algorithm
hctr2 Length-preserving encryption algorithm https://eprint.iacr.org/2021/1441.pdf Security Disclosure This project uses full disclosure. If you find
Gcra - Package gcra implements the generic cell rate algorithm
gcra Package gcra implements the generic cell rate algorithm (GCRA). Example opt
Tinykv - The TinyKV course builds a key-value storage system with the Raft consensus algorithm
The TinyKV Course The TinyKV course builds a key-value storage system with the R
Go-chain - EVM-compatible chain secured by the Lachesis consensus algorithm
ICICB galaxy EVM-compatible chain secured by the Lachesis consensus algorithm. B
Implementation of RFC-6238 (Time-Based One-Time Password Algorithm) in Go.
TOTP TOTP (RFC-6238) implementation in Go with no external dependencies. INSTALL You can do little copying the totp.go file or add this package as Go
Pet-blockchain-go is a simple proof of work mining algorithm in Go.
pet-blockchain-go Pet-blockchain-go is a simple proof of work mining algorithm in Go. Inspired by: cosme12 / SimpleCoin nosequeldeebee / blockchain-tu
This is my implementation of Raft consensus algorithm that I did for own learning.
This is my implementation of Raft consensus algorithm that I did for own learning. Please follow the link to learn more about raft consensus algorithm https://raft.github.io. And Soon, I will be developing same algorithm in Java as well
Implements string functions widely used in other languages but absent in Go.
xstrings Go package xstrings is a collection of string functions, which are widely used in other languages but absent in Go package strings. All funct
An implementation of the consensus algorithm Map Reduce.
An implementation of the consensus algorithm Map Reduce. Framework written by Professor Matthew. Implemented by Makara Teu.
Walker's alias method is an efficient algorithm to sample from a discrete probability distribution.
walker-alias Walker's alias method is an efficient algorithm to sample from a discrete probability distribution. This means given an arbitrary probabi
HPB-layer2 - An implmentation for PriBank core algorithm in Go
PriBankGo An implmentation for PriBank core algorithm in Go #1 Set user number i
Polygol - Boolean polygon clipping/overlay operations (union, intersection, difference, xor) on Polygons and MultiPolygons
polygol Boolean polygon clipping/overlay operations (union, intersection, differ
Cli-algorithm - A cli program with A&DS in go!
cli-algorithm Objectives The objective of this cli is to implement 4 basic algorithms to sort arrays been Merge Sort Insertion Sort Bubble Sort Quick
Uses Google's classic diff-match-patch algorithm to compare two files, sending the color highlighted output to *testing.T for use when testing expected versus actual results.
Compare-files uses Google's classic diff-match-patch algorithm to compare two files. It sends the color highlighted output to *testing.T for use when
Snowflake algorithm generation worker Id sequence
sequence snowflake algorithm generation worker Id sequence 使用雪花算法生成ID,生成100万个只需要
The most concise and efficient algorithm of consistent hash based on golang
consistent This package of consistent is the most concise and efficient algorithm of consistent hash based on golang. Example Quick start: package mai
lru: the most concise and efficient LRU algorithm based on golang
lru This package of lru is the most concise and efficient LRU algorithm based on golang. Example Quick start: package main import ( "fmt" "github.
Genetic algorithm for machine learning in Go.
μ8 Genetic algorithm for machine learning. Inspired by CodeBullets amazing video on the subject. This is a work in progress Steps Natural selection. M
A Blum-Blum-Shub-Generator written in Go
gobbs A Blum-Blum-Shub-Generator in Go. Status Testing Usage Create a new generator with default config: import "github.com/tsdtsdtsd/gobbs" g, err :
Brushing questions is not the goal, but the mastering method is
Brushing questions is not the goal, but the mastering method is If you think it
EVM-compatible chain secured by the Lachesis consensus algorithm
ICICB galaxy EVM-compatible chain secured by the Lachesis consensus algorithm. Building the source Building galaxy requires both a Go (version 1.14 or
A project around helping to prevent typing typos. TySug (Typo Suggestions) suggests alternative words with respect to keyboard layouts
TySug TySug is collection of packages, together they form a keyboard layout aware alternative word suggester. It can be used as both a library and a w
Raft: a consensus algorithm for managing a replicated log
Raft Consensus Algorithm Raft is a consensus algorithm for managing a replicated
High performance golang HTTP Router using Radix tree-based routing algorithm with zero memory allocation.
High performance golang HTTP Router using Radix tree-based routing algorithm with zero memory allocation. Example Benchmark func ServeHTTP: package hh
Golang implementation of the Optimal Reciprocal Collision Avoidance (ORCA) algorithm
go-orca Golang implementation of the Optimal Reciprocal Collision Avoidance (ORCA) algorithm Disclaimer This project is under active development and i
Simple distributed kv-store using ABD algorithm.
Distributed-kv-store Simple distributed kv-store using ABD algorithm. API GET /key Get value by key. 302 = found key. PUT /key Put key with value. 201
Filtering spam in mail server, protecting both client privacy and server algorithm
HE Spamfilter SNUCSE 2021 "Intelligent Computing System Design Project" Hyesun Kwak Myeonghwan Ahn Dongwon Lee abstract Naïve Bayesian spam filtering
A simple distributed key-value store by using hashicorp/raft
raftkv This repository holds a simple distributed key-value store by using hashicorp/raft. raftkv provides gRPC and HTTP APIs. Please take a look API
rEST API to test JWT on RS256 and HS256 algorithm.
JWT Check - Mock para tests This repo is just a simple example of JWT token generation using RS256 algorithm and HS256 algorithm. This api is responsi
The TinyKV course builds a key-value storage system with the Raft consensus algorithm
The TinyKV Course The TinyKV course builds a key-value storage system with the Raft consensus algorithm. It is inspired by MIT 6.824 and TiKV Project.
A Golang package implementing the fastCDC chunking algorithm
go-fastcdc go-fastcdc is a Golang package implementing the fastCDC chunking algorithm. This is a work in progress. chunkerOpts := fastcdc.ChunkerO
TTAK.KO-12.0223 Lightweight Encryption Algorithm with Galois/Counter Mode (LEA-GCM)
LEACrypt The Lightweight Encryption Algorithm (also known as LEA) is a 128-bit block cipher developed by South Korea in 2013 to provide confidentialit
TTAK.KO-12.0276 LSH Recursive Hasher
LSH Recursive Hasher TTAK.KO-12.0276 LSH Recursive Hasher written in Go: Usage of lshsum: lshsum [-v] [-b N] [-c hash.ext] [-r] -t file.ext -b
A naive implementation of Raft consensus algorithm.
This implementation is used to learn/understand the Raft consensus algorithm. The code implements the behaviors shown in Figure 2 of the Raft paper wi
Code examples for Algorithm Analysis and design (CS311) [School project]
Introduction Algorithm Analysis and design 2021/2022 Code examples implemeneted using golang Why Golang? Low Level programming language Awesome garbag
rgkv is a distributed kv storage service using raft consensus algorithm.
rgkv rgkv is a distributed kv storage service using raft consensus algorithm. Get/put/append operation High Availability Sharding Linearizability Tabl
XXTEA is a fast and secure encryption algorithm.
XXTEA Golang Introduction xxtea is a fast and secure encryption algorithm. This project is the Golang implementation of the xxtea encryption algorithm
The TinyKV course builds a key-value storage system with the Raft consensus algorithm.
The TinyKV Course The TinyKV course builds a key-value storage system with the Raft consensus algorithm. It is inspired by MIT 6.824 and TiKV Project.
Donald Knuth's Algorithm 7.2.2.1M for covering with multiplicities and colors via dancing links
Covering with multiplicities and colors via Dancing Links Go implementation of Donald Knuth's Algorithm 7.2.2.1M for covering with multiplicities and
The TinyKV course builds a key-value storage system with the Raft consensus algorithm.
The TinyKV Course The TinyKV course builds a key-value storage system with the Raft consensus algorithm. It is inspired by MIT 6.824 and TiKV Project.
Is this the simplest (and most surprising) sorting algorithm ever?
Is this the simplest sorting algorithm
Go implementation of Donald Knuth's Algorithm 7.2.2.1C for exact cover with colors.
go-dlx Go implementation of Donald Knuth's Algorithm 7.2.2.1C for exact cover with colors. This code is based on the Algorithm C described in http://w
EVM-compatible chain secured by the Lachesis consensus algorithm.
ICICB-Galaxy EVM-compatible chain secured by the Lachesis consensus algorithm. Building the source Building galaxy requires both a Go (version 1.14 or
Go implementation Welford’s method for one-pass variance computation
Variance and standard deviation caluculation using variance's algorithm Table of Contents Introduction Installation Usage Contributing License Introdu
Scalable golang ratelimiter using the sliding window algorithm. Currently supports only Redis.
go-ratelimiter Scalable golang ratelimiter using the sliding window algorithm. Currently supports only Redis. Example usage client := redis.NewClient
Algorithms and Data Structures Solved in Golang
Algorithms and Data Structures Solved in Golang Hi! I'm Bruno Melo and this repository contains a lot challenges solved on many plataforms using go as
I'm sick. And... fibonacci sequence.
Fibonacci Sequence Like I said, Fibonnaci Sequence. Be happy that I didn't make any more fuss about this "achievement" (it's not, for anyone) Source c
The simplest sorting algorithm that sorts in quadratic time
Simplest sort Showcases the simplest sorting algorithm that works in quadratic time. From here. The pseudocode for this algo can be seen below (sorts
记录算法学习和LeetCode、LintCode、codewars的学习路程。A record of algorithm learning.
Problem List Leetcode、LintCode、Codewars Algorithm problem solution written by golang. LeetCode id Name(Github) Name(Gitee) 00001 TwoSum TwoSum 00003 L
Eunomia is a distributed application framework that support Gossip protocol, QuorumNWR algorithm, PBFT algorithm, PoW algorithm, and ZAB protocol and so on.
Introduction Eunomia is a distributed application framework that facilitates developers to quickly develop distributed applications and supports distr
A concurrent rate limiter library for Golang based on Sliding-Window rate limiter algorithm.
ratelimiter A generic concurrent rate limiter library for Golang based on Sliding-window rate limitng algorithm. The implementation of rate-limiter al
Data structure,Algorithms implemented in Go (for education)
Data structure,Algorithms implemented in Go (for education) List of Content : 1. Math - 2. String - 3. Conversions - 4. Sort - 5. Search - 6. Data str
A phoenix Chain client based on the go-ethereum fork,the new PoS consensus engine is based on the VRF algorithm.
Phoenix Official Golang implementation of the Phoenix protocol. !!!The current version is for testing and developing purposes only!!! Building the sou
Assembly-optimized MD4 hash algorithm in Go
md4 MD4 hash algorithm in Go. Assembly-optimized for amd64 platforms. MD4 is cryptographically broken and should should only be used where compatibili
A distributed fault-tolerant order book matching engine
Go - Between A distributed fault-tolerant order book matching engine. Features Limit orders Market orders Order book depth Calculate market price for
A Go-flavored attempt to reimplement the git-crypt algorithm in native Go
Golang port of git-crypt functionality
A faster RWLock primitive in Go, 2-3 times faster than RWMutex. A Go implementation of concurrency control algorithm in paper Left-Right - A Concurrency Control Technique with Wait-Free Population Oblivious Reads
Go Left Right Concurrency A Go implementation of the left-right concurrency control algorithm in paper Left-Right - A Concurrency Control Technique w
Geth client which picks the most profitable blocks to mine using a greedy algorithm
Greeden-Geth Greeden-Geth is a protocol-agnostic client which uses a greedy algorithm to pick the most profitable blocks to submit to the network out
Go implementation of the JWZ email threading algorithm
The JWZ Threading algorithm written in Go This is an open source Go implementation of the widely known JWZ message threading algorithm originally writ
a* pathfinding algorithm written in go
astar a* (a-star) pathfinding algorithm written in go Wikipedia: EN: A* search algorithm DE: A*-Algorithmus Install go get github.com/jpierer/astar@ma
A phoenix Chain client based on the go-ethereum fork,the new PoA consensus engine is based on the VRF algorithm.
Phoenix Official Golang implementation of the Phoenix protocol. !!!The current version is for testing and developing purposes only!!! Building the sou
simulate linkstate algorithm for routing
for final project of computer-network course in SBU university (spring 2021) we implemented a Link-state simulation in go.
A Go implementation of the core algorithm in paper Indexing Boolean Expression
Boolean Expression Indexer Go library A Go implementation of the core algorithm in paper Indexing Boolean Expression, which already supports the fol
k-means clustering algorithm implementation written in Go
kmeans k-means clustering algorithm implementation written in Go What It Does k-means clustering partitions a multi-dimensional data set into k cluste
A simple thread-safe, fixed size LRU written in Go. Based on dominictarr's Hashlru Algorithm. 🔃
go-hashlru A simple thread-safe, fixed size LRU written in Go. Based on dominictarr's Hashlru Algorithm. 🔃 Uses map[interface{}]interface{} to allow
LFU Redis implements LFU Cache algorithm using Redis as data storage
LFU Redis cache library for Golang LFU Redis implements LFU Cache algorithm using Redis as data storage LFU Redis Package gives you control over Cache
fim is a collection of some popular frequent itemset mining algorithms implemented in Go.
fim fim is a collection of some popular frequent itemset mining algorithms implemented in Go. fim contains the implementations of the following algori
efficient string matching in Golang via the aho-corasick algorithm.
aho-corasick Efficient string matching in Golang via the aho-corasick algorithm. x20 faster than https://github.com/cloudflare/ahocorasick and x3 fast
Implementation of Boyer-Moore fast string search algorithm in Go
boyermoore Implementation of Boyer-Moore fast string search algorithm in Go
Generate high-quality triangulated art from images.
An iterative algorithm to generate high quality triangulated images.
Simple Shamir's Secret Sharing (s4) - A go package giving a easy to use interface for the shamir's secret sharing algorithm
Simple Shamir's Secret Sharing (s4) With Simple Shamir's Secret Sharing (s4) I want to provide you an easy to use interface for this beautiful little
Autopilot in Go for docking the SpaceX Dragon capsule in the simulator
Dragon ISS Docking Autopilot in Go Autopilot written in Go and executed as WebAssembly for docking the SpaceX Dragon capsule in the official simulator
An iterative algorithm to generate high quality triangulated images.
Triangula uses a modified genetic algorithm to triangulate images. It works best with images smaller than 3000px and with fewer than 3000 points, typically producing an optimal result within a couple of minutes.
An iterative algorithm to generate high-quality triangulated images.
An iterative algorithm to generate high quality triangulated images. Introduction Triangula uses a modified genetic algorithm to triangulate images. I
Some examples for the programming language Go.
Golang_Examples Bubblesort: simple implementation of bubble sort algorithm in Go Level: Beginner GenericStack: a stack (LIFO collection) that can hold
❄ An Lock Free ID Generator for Golang based on Snowflake Algorithm (Twitter announced).
❄ An Lock Free ID Generator for Golang based on Snowflake Algorithm (Twitter announced).
💯 Materials to help you rock your next coding interview
Tech Interview Handbook Credits: Illustration by @leftaligned Read on the website Black Lives Matter. Support the Equal Justice Initiative What is thi
golang sorting algorithm and data construction.
data-structures-questions 算法和程序结构是我们学习编程的基础,但是很多的时候,我们很多都是只是在应用,而没有深入的去研究这些,所以自己也在不断的思考和探索,然后分析,学习,总结自己学习的过程,希望可以和大家一起学习和交流下算法! 目录 网络协议 数据结构 算法 数据库 Go
Golang implementation of Sliding Window Algorithm for distributed rate limiting.
slidingwindow Golang implementation of Sliding Window Algorithm for distributed rate limiting. Installation $ go get -u github.com/RussellLuo/slidingw
慕课 liuyubobobo「玩转数据结构」课程的 Go 语言实现版本
Play-with-Data-Structures 简介 本仓库基于 go 语言实现常用的数据结构。 感谢 liuyubobobo 老师在慕课网上推出的实战课程《玩儿转数据结构》,Java 版本的 Github 仓库地址请访问: https://github.com/liuyubobobo/Play
A Go implementation of the 64-bit xxHash algorithm (XXH64)
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
Data Structure Libraries and Algorithms implementation
Algorithms Data Structure Libraries and Algorithms implementation in C++ Disclaimer This repository is meant to be used as a reference to learn data s
A feature complete and high performance multi-group Raft library in Go.
Dragonboat - A Multi-Group Raft library in Go / 中文版 News 2021-01-20 Dragonboat v3.3 has been released, please check CHANGELOG for all changes. 2020-03
A Naive Bayes SMS spam classifier written in Go.
Ham (SMS spam classifier) Summary The purpose of this project is to demonstrate a simple probabilistic SMS spam classifier in Go. This supervised lear
Most comprehensive list :clipboard: of tech interview questions :blue_book: of companies scraped from Geeksforgeeks, CareerCup and Glassdoor.
Companies* Companies E Expedia G Grab M MobiKwik N NEC Technologies P PayPal S Samsung Research Institute U Uber Y Yatra.com Z Zomato Announcements 👐
算法模板,最科学的刷题方式,最快速的刷题路径,你值得拥有~
算法模板 算法模板,最科学的刷题方式,最快速的刷题路径,一个月从入门到 offer,你值得拥有 🐶 ~ 算法模板顾名思义就是刷题的套路模板,掌握了刷题模板之后,刷题也变得好玩起来了~ 此项目是自己找工作时,从 0 开始刷 LeetCode 的心得记录,通过各种刷题文章、专栏、视频等总结了一套自己的
Fast (linear time) implementation of the Gaussian Blur algorithm in Go.
Song2 Fast (linear time) implementation of the Gaussian Blur algorithm in Go.
hego aims to provide a consistent API for several metaheuristics
hego hego aims to provide a consistent API for several metaheuristics (black box optimization algorithms) while being performant. Even though most of
String-matching in Golang using the Knuth–Morris–Pratt algorithm (KMP)
gokmp String-matching in Golang using the Knuth–Morris–Pratt algorithm (KMP). Disclaimer This library was written as part of my Master's Thesis and sh