{"id":37119444,"url":"https://github.com/ethan-gao-code/go-ds","last_synced_at":"2026-01-14T13:55:52.745Z","repository":{"id":272251041,"uuid":"915893947","full_name":"ethan-gao-code/go-ds","owner":"ethan-gao-code","description":"Go-DS (Go Data Structures) - Bloom Filters, Lists, Queues, Sets, Stacks, Trees and much more","archived":false,"fork":false,"pushed_at":"2025-04-09T08:59:31.000Z","size":80,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-09T09:40:47.633Z","etag":null,"topics":["avl-tree","bloom-filter","data-structures","go","golang","list","queue","set","skiplist","stack","tree"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ethan-gao-code.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-13T03:41:09.000Z","updated_at":"2025-04-09T08:59:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"bd7beacb-9d1a-4d6b-80c1-6d9190e97f72","html_url":"https://github.com/ethan-gao-code/go-ds","commit_stats":null,"previous_names":["ethan-gao-code/go-ds"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ethan-gao-code/go-ds","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethan-gao-code%2Fgo-ds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethan-gao-code%2Fgo-ds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethan-gao-code%2Fgo-ds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethan-gao-code%2Fgo-ds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ethan-gao-code","download_url":"https://codeload.github.com/ethan-gao-code/go-ds/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethan-gao-code%2Fgo-ds/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28422376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T13:30:50.153Z","status":"ssl_error","status_checked_at":"2026-01-14T13:29:08.907Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["avl-tree","bloom-filter","data-structures","go","golang","list","queue","set","skiplist","stack","tree"],"created_at":"2026-01-14T13:55:51.847Z","updated_at":"2026-01-14T13:55:52.730Z","avatar_url":"https://github.com/ethan-gao-code.png","language":"Go","readme":"[![Go Report Card](https://goreportcard.com/badge/github.com/ethan-gao-code/go-ds)](https://goreportcard.com/report/github.com/ethan-gao-code/go-ds)\n[![build-and-test](https://github.com/ethan-gao-code/go-ds/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/ethan-gao-code/go-ds/actions/workflows/build-and-test.yml)\n[![codecov](https://codecov.io/gh/ethan-gao-code/go-ds/graph/badge.svg?token=RR7ZSMPTR1)](https://codecov.io/gh/ethan-gao-code/go-ds)\n[![release](https://img.shields.io/github/v/release/ethan-gao-code/go-ds)](https://github.com/ethan-gao-code/go-ds/releases)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n# Go-DS (Go Data Structures)\n\nImplementation of various data structures in Go.\n\n`go-ds` is an open-source Go library that provides implementations of various data structures. This library aims to simplify the usage and understanding of common data structures in Go for developers and is designed to be extensible and efficient.\n\n## Table of Contents\n- [Installation](#installation)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Installation\nTo install the library, you can use `go get`:\n```shell\ngo get github.com/ethan-gao-code/go-ds\n```\n\n## Usage\nBelow are examples of how to use the various data structures in this library. You can find more detailed examples in the [examples folder](https://github.com/ethan-gao-code/go-ds/tree/main/examples).\n\n### Bloom Filters\nA Bloom filter is a space-efficient probabilistic data structure, that is used to test whether an element is a member of a set.\n\nFor more details and usages about Bloom Filters, you can read [Bloom Filter README](https://github.com/ethan-gao-code/go-ds/bloomfilters/README.md)\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/ethan-gao-code/go-ds/bloomfilters\"\n)\n\nfunc main() {\n\tbf := bloomfilters.New(0.01, 1000) // Create a new BloomFilter with a desired false positive rate of 0.01 and expected 1000 items\n\t\n\tbf.Add(\"apple\") // Use Add to add element into the Bloom Filter\n\t\n\tbf.Contains(\"apple\") // Contains can check if some elements are in the Bloom Filter. It returns true or false\n\t\n\tbf.Size() // Size return the size of the Bloom Filter (number of bits set to 1)\n\n\tbf.HashCount() // HashCount gets the number of hash functions used by the Bloom Filter\n\n\tbf.Reset() // Reset the Bloom Filter\n}\n```\n\n### Doubly Linked List (WIP)\n\n### Skip List (WIP)\n\n### Queue (WIP)\n\n### Sets (WIP)\n\n### Stack (WIP)\n\n### AVL Tree (WIP)\n\n## Contributing\nWe encourage you to use `go-ds` in your projects and share your feedback with us. Your input will help guide future improvements and feature additions to the library.\n\nWe also welcome contributions! If you'd like to contribute to the development of `go-ds`, please fork the repository and submit a pull request. Be sure to follow the coding standards and include tests where applicable.\n\n## License\n`go-ds` is open source and available under the MIT License. See the [LICENSE](https://github.com/ethan-gao-code/go-ds/blob/main/LICENSE) file for more information.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethan-gao-code%2Fgo-ds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fethan-gao-code%2Fgo-ds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethan-gao-code%2Fgo-ds/lists"}