https://github.com/fasilofficial/dsa
This repository contains Dart and JavaScript implementations of various data structures and algorithms.
https://github.com/fasilofficial/dsa
algorithms dart datastructures datastructures-algorithms javascript
Last synced: 9 months ago
JSON representation
This repository contains Dart and JavaScript implementations of various data structures and algorithms.
- Host: GitHub
- URL: https://github.com/fasilofficial/dsa
- Owner: fasilofficial
- License: mit
- Created: 2023-12-19T14:25:02.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-29T04:32:12.000Z (almost 2 years ago)
- Last Synced: 2024-09-02T03:18:46.365Z (over 1 year ago)
- Topics: algorithms, dart, datastructures, datastructures-algorithms, javascript
- Language: JavaScript
- Homepage:
- Size: 64.5 KB
- Stars: 0
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Data Structures and Algorithms
Welcome to the Data Structures and Algorithms repository! This repository contains Dart and JavaScript implementations of various data structures and algorithms. It's designed to be helpful for students who are learning Dart, Go, and JavaScript in mastering fundamental concepts. In the future I'll try to add more and more programming languages to this repository.
---
## Table of Contents
1. **Dart**
- [Tree](./dart/data_structures/tree)
- [Tree Operations](./dart/data_structures/tree/tree.dart)
- [Binary Search Tree (BST)](./dart/data_structures/tree/bst.dart)
- [Stack](./dart/data_structures/stack.dart)
- [Linked List](./dart/data_structures/linked_list)
- [Singly Linked List](./dart/data_structures/linked_list/linked_list.dart)
- [Doubly Linked List](./dart/data_structures/linked_list/doubly_linked_list.dart)
- [Graph](./dart/data_structures/graph.dart)
- [Hash Table](./dart/data_structures/hash_table.dart)
- [Queue](./dart/data_structures/queue.dart)
- [Heap](./dart/data_structures/heap)
- [Max Heap](./dart/data_structures/heap/max_heap.dart)
- [Min Heap](./dart/data_structures/heap/min_heap.dart)
- [Array](./dart/data_structures/array.dart)
- [Algorithms](./dart/algorithms)
- [Searching](./dart/algorithms/searching)
- [Linear Search](./dart/algorithms/searching/linear_search.dart)
- [Binary Search](./dart/algorithms/searching/binary_search.dart)
- [Recursion](./dart/algorithms/recursion)
- [Factorial](./dart/algorithms/recursion/factorial.dart)
- [Fibonacci](./dart/algorithms/recursion/fibonacci.dart)
- [Binary Search (Recursion)](./dart/algorithms/recursion/binary_search.dart)
- [Math](./dart/algorithms/math)
- [Factorial](./dart/algorithms/math/factorial.dart)
- [Fibonacci](./dart/algorithms/math/fibonacci.dart)
- [Sorting](./dart/algorithms/sorting)
- [Bubble Sort](./dart/algorithms/sorting/bubble_sort.dart)
- [Merge Sort](./dart/algorithms/sorting/merge_sort.dart)
- [Insertion Sort](./dart/algorithms/sorting/insertion_sort.dart)
- [Quick Sort](./dart/algorithms/sorting/quick_sort.dart)
- [Heap Sort](./dart/algorithms/sorting/heap_sort.dart)
- [Selection Sort](./dart/algorithms/sorting/selection_sort.dart)
1. **Go**
- [Tree](./go/data_structures/tree)
- [Tree Operations](./go/data_structures/tree/tree.go)
- [Binary Search Tree (BST)](./go/data_structures/tree/bst.go)
- [Stack](./go/data_structures/stack.go)
- [Linked List](./go/data_structures/linked_list)
- [Singly Linked List](./go/data_structures/linked_list/linked_list.go)
- [Doubly Linked List](./go/data_structures/linked_list/doubly_linked_list.go)
- [Graph](./go/data_structures/graph.go)
- [Hash Table](./go/data_structures/hash_table.go)
- [Queue](./go/data_structures/queue.go)
- [Heap](./go/data_structures/heap)
- [Max Heap](./go/data_structures/heap/max_heap.go)
- [Min Heap](./go/data_structures/heap/min_heap.go)
- [Array](./go/data_structures/array.go)
- [Algorithms](./go/algorithms)
- [Searching](./go/algorithms/searching)
- [Linear Search](./go/algorithms/searching/linear_search.go)
- [Binary Search](./go/algorithms/searching/binary_search.go)
- [Recursion](./go/algorithms/recursion)
- [Factorial](./go/algorithms/recursion/recursive_factorial.go)
- [Fibonacci](./go/algorithms/recursion/recursive_fibonacci.go)
- [Binary Search (Recursion)](./go/algorithms/recursion/recursive_binary_search.go)
- [Math](./go/algorithms/math)
- [Factorial](./go/algorithms/math/factorial.go)
- [Fibonacci](./go/algorithms/math/fibonacci.go)
- [Sorting](./go/algorithms/sorting)
- [Bubble Sort](./go/algorithms/sorting/bubble_sort.go)
- [Merge Sort](./go/algorithms/sorting/merge_sort.go)
- [Insertion Sort](./go/algorithms/sorting/insertion_sort.go)
- [Quick Sort](./go/algorithms/sorting/quick_sort.go)
- [Heap Sort](./go/algorithms/sorting/heap_sort.go)
- [Selection Sort](./go/algorithms/sorting/selection_sort.go)
3. **JavaScript**
- [String](./javascript/data-structures/string)
- [String Operations](./javascript/data-structures/string/string.js)
- [Binary Search Tree](./javascript/data-structures/binary-search-tree)
- [Check if BST is Identical](./javascript/data-structures/binary-search-tree/BST-isBST.js)
- [Find Closest Value in BST](./javascript/data-structures/binary-search-tree/BST-Closest.js)
- [Check if Two BSTs are Identical](./javascript/data-structures/binary-search-tree/BST-Check-Identical.js)
- [General Operations on BST](./javascript/data-structures/binary-search-tree/BST-General.js)
- [DFS Traversal of BST](./javascript/data-structures/binary-search-tree/BST-DFS-Traversal.js)
- [BFS Traversal of BST](./javascript/data-structures/binary-search-tree/BST-BFS-Traversal.js)
- [Trie](./javascript/data-structures/trie)
- [Trie Implementation](./javascript/data-structures/trie/Trie.js)
- [Hash Table](./javascript/data-structures/hash-table)
- [Hash Table Implementation](./javascript/data-structures/hash-table/hash-table.js)
- [Graph](./javascript/data-structures/graph)
- [Graph Implementation](./javascript/data-structures/graph/Graph.js)
- [Linked List](./javascript/data-structures/linked-list)
- [Linked List Implementation](./javascript/data-structures/linked-list/linked_list.js)
- [Stack](./javascript/data-structures/stack)
- [Stack Implementation](./javascript/data-structures/stack/stack.js)
- [Stack Using Array](./javascript/data-structures/stack/stackUsingArray.js)
- [Stack Using Queue](./javascript/data-structures/stack/stackUsingQueue.js)
- [Queue](./javascript/data-structures/queue)
- [Queue Implementation](./javascript/data-structures/queue/queue.js)
- [Queue Using Array](./javascript/data-structures/queue/queueUsingArray.js)
- [Queue Using Stack](./javascript/data-structures/queue/queueUsingStack.js)
- [Circular Queue](./javascript/data-structures/queue/circularQueue.js)
- [Optimized Queue](./javascript/data-structures/queue/optimizedQueue.js)
- [Heap](./javascript/data-structures/heap)
- [Find Largest 3 Elements in Heap](./javascript/data-structures/heap/Largest3.js)
- [Max Heap Operations](./javascript/data-structures/heap/Max.js)
- [Min Heap Operations](./javascript/data-structures/heap/Min.js)
- [Array](./javascript/data-structures/array)
- [Array Operations](./javascript/data-structures/array/array.js)
- [Algorithms](./javascript/algorithms)
- [Searching](./javascript/algorithms/searching)
- [Binary Search](./javascript/algorithms/searching/binary_search.js)
- [Linear Search](./javascript/algorithms/searching/linear_search.js)
- [Recursion](./javascript/algorithms/recursion)
- [Recursive Fibonacci](./javascript/algorithms/recursion/recursive_fibonacci.js)
- [Recursive Factorial](./javascript/algorithms/recursion/recursive_factorial.js)
- [Recursive Binary Search](./javascript/algorithms/recursion/recursive_binary_search.js)
- [Sorting](./javascript/algorithms/sorting)
- [Insertion Sort](./javascript/algorithms/sorting/insertionSort.js)
- [Quick Sort](./javascript/algorithms/sorting/quickSort.js)
- [Merge Sort](./javascript/algorithms/sorting/mergeSort.js)
- [Selection Sort](./javascript/algorithms/sorting/selectionSort.js)
- [Bubble Sort](./javascript/algorithms/sorting/bubbleSort.js)
---
## Contribution Guidelines
1. Fork the repository.
2. Create a new branch for your feature: `git checkout -b feature-name`.
3. Make your changes and commit them: `git commit -m 'Add feature-name'`.
4. Push to the branch: `git push origin feature-name`.
5. Create a pull request.
Thank you for contributing! Feel free to suggest improvements, report issues, or add new features. Happy coding!
**[CONTRIBUTING.md](CONTRIBUTING.md):** Click to read the contribution guidelines