Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ivstudio/dsa
This repository serves as a study and exercise guide for JavaScript data structures and algorithms (DSA).
https://github.com/ivstudio/dsa
algorithms data-structures dsa javascript technical-interview-questions
Last synced: about 2 months ago
JSON representation
This repository serves as a study and exercise guide for JavaScript data structures and algorithms (DSA).
- Host: GitHub
- URL: https://github.com/ivstudio/dsa
- Owner: ivstudio
- Created: 2024-06-16T18:28:45.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-12-05T01:04:12.000Z (about 2 months ago)
- Last Synced: 2024-12-05T01:19:46.511Z (about 2 months ago)
- Topics: algorithms, data-structures, dsa, javascript, technical-interview-questions
- Language: TypeScript
- Homepage:
- Size: 1.03 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# JavaScript Data Structures and Algorithms (DSA)
## Description
This repository is a hands-on guide for learning data structures and algorithms (DSA). It includes TypeScript code examples, test cases, and helpful utilities to make writing and testing solutions easier and more effective.
### Testing
This project uses Jest for testing each solution to ensure everything works as expected.
To run all tests, simply use: `npm run test`.### Table of Contents
- Algorithms
- [Anagram](/src/algorithms/anagram)
- [Array Operations](/src/algorithms/arraysOperations/)
- [Maximum Average Subarray I](/src/algorithms/maximumAverageSubarray)
- [Max Consecutive Ones III](/src/algorithms/maxConsecutiveOnes/)
- [Merge Sorted Array](/src/algorithms/arraysOperations/mergeSortedArray/)
- [Minimum Value to Get Positive Step by Step Sum](/src/algorithms/minimumValueToGetPositiveStepByStepSum/)
- [Minimum SizeSubarray Sum](/src/algorithms/minimumSizeSubarraySum/)
- [Minimum Window Substring](/src/algorithms/minimumWindowSubstring/)
- [Remove Duplicate Objects](/src/algorithms/arraysOperations/removeDuplicateObjects/)
- [Remove Duplicates from Sorted Array](/src/algorithms/removeDuplicatesfromSortedArray/)
- [Running Sum of 1d Array](/src/algorithms/runningSumOf1dArray/)
- [Squares of Sorted Array](/src/algorithms/squaresOfSortedArray/)
- [K Radius Subarray Averages](/src/algorithms/kRadiusSubarrayAverages/)
- [Capitalize](/src/algorithms/capitalize/)
- [Fibonacci](/src/algorithms/fibonacci)
- [FizzBuzz](/src/algorithms/fizzBuzz/)
- [Longest Substring](/src/algorithms/longestSubstring)
- [Palindrome](/src/algorithms/palindrome)
- [Pangram](/src/algorithms/pangram)
- [Reverse String](/src/algorithms/reverseString)
- [Sorting](/src/algorithms/sorting/)
- [String Operations](/src/algorithms/stringOperations/)
- [Missing Number](/src/algorithms/missingNumber)
- [Two Sum](/src/algorithms/twoSum)- Data Structures
- [Linked List](/src/dataStructures/linkedList)
- [Add Two Numbers LL](/src/dataStructures/linkedList/addTwoNumbers/)
- [Merge Two Sorted LL](/src/dataStructures/linkedList//mergeTwoSortedLinkedLists/)
- [Queue](/src/dataStructures/queue/)- Exercises
- Closures
- [Counter](/src/exercises/closures/counter/)
- [Interval](/src/exercises/closures/interval/)
- [Promise Time Limit](/src/exercises/promiseTimeLimit)### Folder Structure
This project will continue to grow and evolve. It is organized by algorithms, data structures, and exercises. Each implementation includes unit tests.
```bash
root/
│
├── src/
│ ├── algorithms/
│ │ ├── sorting/
│ │ │ ├── bubbleSort.ts
│ │ │ ├── bubbleSort.test.js
│ │ │ └── ...
│ │ └── .../
│ ├── dataStructures/
│ │ ├── queue/
│ │ │ ├── queue.ts
│ │ │ ├── queue.test.js
│ │ └── ...
│ ├── exercises/
│ │ ├── debouce
│ │ │ ├── debounce.ts
│ │ │ ├── debounce.test.js
│ │ └── ...
├── package.json
└── jest.config.js
```### Resources
- [VisuAlgo](https://visualgo.net/en)
- [Sorting Algorithms Animations](https://www.toptal.com/developers/sorting-algorithms)