# Data Structures and Algorithms This repository is my self study guide for data structures and algorithms. I implement them from scratch in Go and then write unit test for them. What better way to learn a language and new concepts exists other than practicing them. ## Data Structures * Hash Set [Implementation](https://github.com/dnutiu/dsa-go/blob/master/hash_set/hash_set/hash_set.go) | [Tests](https://github.com/dnutiu/dsa-go/blob/master/hash_set/hash_set/hash_set_test.go) ### Kotlin The old repo contains implementations in the Kotlin language. #### Data Structures * Linked List [Implementation](https://github.com/dnutiu/dsa/blob/master/src/main/kotlin/data_structures/linked_list/LinkedList.kt) | [Tests](https://github.com/dnutiu/dsa/blob/master/src/test/kotlin/data_structures/linked_list/LinkedListTest.kt) #### Ranking * BM25+ [Implementation](https://github.com/dnutiu/dsa/blob/master/src/main/kotlin/ranking/bm25/Bm25Plus.kt) | [Tests](https://github.com/dnutiu/dsa/blob/master/src/test/kotlin/ranking/bm25/BM25PlusTest.kt) | [Reference Paper](http://www.cs.otago.ac.nz/homepages/andrew/papers/2014-2.pdf)