https://github.com/asungur/data_structures_and_algos
Go,Ruby and Python implementations of common algorithms and data structures
https://github.com/asungur/data_structures_and_algos
algorithm algorithms data-structures go golang interview interview-preparation ruby
Last synced: 5 months ago
JSON representation
Go,Ruby and Python implementations of common algorithms and data structures
- Host: GitHub
- URL: https://github.com/asungur/data_structures_and_algos
- Owner: asungur
- Created: 2020-08-31T19:45:28.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-09-28T18:10:47.000Z (about 1 year ago)
- Last Synced: 2025-03-19T22:42:23.477Z (9 months ago)
- Topics: algorithm, algorithms, data-structures, go, golang, interview, interview-preparation, ruby
- Language: Python
- Homepage:
- Size: 129 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ➗Data Structures and Algorithms
This repository contains my solutions to popular algorithms and data structures.
My plan is to implement each solution in **Go** and **Ruby.** However, some problems might only have one implementation.
Some problems include variations. These are kept in the same folder.
## Algorithms
[Definition](https://en.wikipedia.org/wiki/Algorithm)
Set of rules to solve a given problem. Commonly, they work hand in hand with data structures.
- [Binary Search](https://github.com/asungur/data_structures_and_algos/tree/main/algorithms/binary_search) | [wiki](https://en.wikipedia.org/wiki/Binary_search_algorithm)
- [Bubble Sort](https://github.com/asungur/data_structures_and_algos/tree/main/algorithms/bubble_sort) | [wiki](https://en.wikipedia.org/wiki/Bubble_sort)
- [Merge Sort](https://github.com/asungur/data_structures_and_algos/tree/main/algorithms/merge_sort) | [wiki](https://en.wikipedia.org/wiki/Merge_sort)
- [Selection Sort](https://github.com/asungur/data_structures_and_algos/tree/main/algorithms/selection_sort) | [wiki](https://en.wikipedia.org/wiki/Selection_sort)
- [Insertion Sort](https://github.com/asungur/data_structures_and_algos/tree/main/algorithms/insertion_sort) | [wiki](https://en.wikipedia.org/wiki/Insertion_sort)
- [Quicksort](https://github.com/asungur/data_structures_and_algos/tree/main/algorithms/quicksort) | [wiki](https://en.wikipedia.org/wiki/Quicksort)
- [Quickselect](https://github.com/asungur/data_structures_and_algos/tree/main/algorithms/quickselect) | [wiki](https://en.wikipedia.org/wiki/Quickselect)
## Data Structures
[Definition](https://en.wikipedia.org/wiki/Data_structure)
Depending on the actual problem, using different data structures bring efficiency (speed/memory) to our solution. Understanding their trade-offs and where to use them is as important as understanding how they work.
- [Linked list](https://github.com/asungur/data_structures_and_algos/tree/main/data_structures/linked_list) | [wiki](https://en.wikipedia.org/wiki/Linked_list)
- [Doubly linked list](https://github.com/asungur/data_structures_and_algos/tree/main/data_structures/doubly_linked_list) | [wiki](https://en.wikipedia.org/wiki/Doubly_linked_list)
- [Queue](https://github.com/asungur/data_structures_and_algos/tree/main/data_structures/queue) | [wiki](https://en.wikipedia.org/wiki/Queue_(abstract_data_type))
- [Stack](https://github.com/asungur/data_structures_and_algos/tree/main/data_structures/stack) | [wiki](https://en.wikipedia.org/wiki/Stack_(abstract_data_type))
- [Binary Search Tree](https://github.com/asungur/data_structures_and_algos/tree/main/data_structures/binary_search_tree) | [wiki](https://en.wikipedia.org/wiki/Binary_search_tree)
- [Hash Table](https://github.com/asungur/data_structures_and_algos/tree/main/data_structures/hash_table) | [wiki](https://en.wikipedia.org/wiki/Hash_table) - WIP: implement linked-list collision handling for both