Code Monkey home page Code Monkey logo

golang-ads's Introduction

Golang Advanced Data Structures

Tests

Run all the tests, examples and performance evaluations with:

./bin/run_tests_and_examples.sh

Documentation

Detailed documentation and explanation of each data structure and the performance tests is available in:

./doc/golang_ads.pdf

Available Structures

Trie

  • Location: ./structures/trie
  • Description: Implements Trie Structure using as key any Go Rune (and no alphabet size required)
  • Examples: Trie examples are the public examples of problem http://codeforces.com/contest/456/problem/D
  • You can find the actual submission code in ./submissions/submission456D.go

Patricia trie

  • Location: ./structures/patricia-trie
  • Description: Implements Patricia trie Structure as described in Handbook of Data Structures and Applications book.

Union-find Set with Path Compression / with Rank

  • Location: ./structures/union-find/
  • Description: Implements union-find sets. Two variants are available: one using path compression using vectors (most used and efficient); another one using rank for set-union and with pointers.
  • Examples: Union-find examples are the public examples of problem https://jutge.org/problems/P94041_ca/statement and the implementation of Kruskal's minimum spanning tree algorithm
  • You can find the submission code in ./submissions/submissionConnectedComponents.go

Skip list

  • Location: ./structures/trie
  • Description: Implements a map using the skip list structure (instead of a search tree)
  • Examples: ./evaluation/skip-list_performance.go does a complexity evaluation (both time and space) of the implemented structure. Base package example just tests String() method.

Frequent Itemsets

  • Location ./structures/frequent-itemsets
  • Description: uses item lists, trie, and patricia tries to represent a frequent itemset
  • Examples: ./evaluation/fis_size-tests.go creates represents each dataset under ./data and compares the total memory size of each one of them.

golang-ads's People

Contributors

kafkasl avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.