Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ajay-dhangar/dsa-with-js

JavaScript Data Structures and Algorithms Basic Course or Roadmap
https://github.com/ajay-dhangar/dsa-with-js

algorithms data-structures data-structures-and-algorithms dsa dsa-in-js javascript

Last synced: 10 days ago
JSON representation

JavaScript Data Structures and Algorithms Basic Course or Roadmap

Awesome Lists containing this project

README

        

# JavaScript Data Structures and Algorithms Basic Course

Where to start? At the beginning, of course! This course is designed to help you understand the basics of data structures and algorithms, how they work, and how to implement them in JavaScript. This course is not designed to teach you JavaScript, but rather to show you how to apply your existing JavaScript knowledge to solve problems.

## What are data structures and algorithms?

Data structures are collections of values, the relationships among them, and the functions or operations that can be applied to the data. Algorithms are a set of instructions to follow in order to solve a problem.

## Why is it important to know data structures and algorithms?

Data structures and algorithms are patterns that you can use to solve common problems. They are not language specific, but you can implement them in any language. They are the patterns you will use to write clean and efficient code.

## What will you learn in this course?

1. Algorithmic thinking
- Big O notation
- Data Structures
- Algorithms

2. Array and string manipulation
- Reverse a string
- Palindrome
- Reverse an integer
- Max character
- FizzBuzz
- Array chunking
- Anagrams
- Sentence capitalization
- Printing steps
- Two-sided steps
- Pyramid
- Find the vowels
- Matrix spiral
- Runtime complexity

3. Hashing and hash tables
- Hash tables
- First recurring character
- Runtime complexity

4. Greedy algorithms
- Greedy algorithms
- Minimum coin change problem
- Runtime complexity
- Dijkstra's algorithm
- zebra puzzle

5. Sorting, searching, and logarithms (oh my!)
- Sorting algorithms
- Bubble sort
- Selection sort
- Insertion sort
- Merge sort
- Quick sort
- Radix sort
- Searching algorithms
- Linear search
- Binary search
- Runtime complexity
- Logarithms
- Binary search tree
- Tree traversal
- Breadth-first search
- Depth-first search
- Dijkstra's algorithm
- A\* search algorithm

6. Trees and graphs
- Trees
- Binary search tree
- Tree traversal
- Breadth-first search
- Depth-first search
- Dijkstra's algorithm
- A\* search algorithm
- Graphs
- Graphs
- Graph representation
- Graph traversal
- Breadth-first search
- Depth-first search
- Dijkstra's algorithm
- A\* search algorithm
- Dynamic programming
- Dynamic programming
- Fibonacci sequence
- Memoization
- Tabulation
- Fibonacci sequence with memoization
- Fibonacci sequence with tabulation
- Memoization vs tabulation

7. Dynamic programming and recursion
- Dynamic programming
- Fibonacci sequence
- Memoization
- Tabulation
- Fibonacci sequence with memoization
- Fibonacci sequence with tabulation
- Memoization vs tabulation
- Recursion
- Reverse a string
- Palindrome
- Reverse an integer
- Max character
- FizzBuzz
- Array chunking
- Anagrams
- Sentence capitalization
- Printing steps
- Two-sided steps
- Pyramid
- Find the vowels
- Matrix spiral
- Runtime complexity
- Dynamic programming

8. Queues and stacks
- Queues
- Stacks
- Queues with stacks
- Weave
- Queue implementation
- Stack implementation
- Queue from stacks
- Weave
- Queue implementation
- Stack implementation
- Queue from stacks
- Weave
- Runtime complexity

9. Linked lists
- Linked lists
- Linked list implementation
- Midpoint
- Circular
- From last
- Linked list implementation
- Midpoint
- Circular
- From last
- Runtime complexity

10. System design
- URL Shortener
- Design a URL shortener
- MillionGazillion
- Find Duplicate Files

11. General programming concepts
- Object-oriented programming
- Functional programming
- Recursion
- Reverse (string, integer, and array)
- closures

12. Bit manipulation
- Bit manipulation
- Bitwise operators
- Bitwise operators
- Bitwise AND
- Bitwise OR
- Bitwise XOR
- Bitwise NOT
- Bit shifting
- Bit shifting
- Bitwise left shift
- Bitwise right shift
- Bitwise zero fill right shift
- Bit manipulation
- Bit manipulation
- Get bit
- Set bit
- Clear bit
- Update bit
- Clear bits MSB through i
- Clear bits i through 0
- Bit manipulation
- Bit manipulation
- Get bit
- Set bit
- Clear bit
- Update bit
- Clear bits MSB through i
- Clear bits i through 0
- Bit manipulation
- Bit manipulation
- Get bit
- Set bit
- Clear bit
- Update bit
- Clear bits MSB through i
- Clear bits i through 0
- Bit manipulation
- Bit manipulation
- Get bit
- Set bit
- Clear bit
- Update bit
- Clear bits MSB through i
- Clear bits i through 0
- Bit manipulation
- Bit manipulation
- Get bit
- Set bit
- Clear bit
- Update bit
- Clear bits MSB through i
- Clear bits i through 0
- Bit manipulation
- Bit manipulation
- Get bit
- Set bit
- Clear bit
- Update bit
- Clear bits MSB through i
- Clear bits i through 0
- Bit manipulation
- Bit manipulation
- Get bit
- Set bit
- Clear bit
- Update bit
- Clear bits MSB through i
- Clear bits i through 0

13. Combinatorics, probability, and other math
- Combinatorics
- Permutations
- Combinations
- Probability
- Triangular Series

14. JavaScript specific topics
- Closure
- Scope & Context in JavaScript
- What's wrong with this JavaScript?

15. Coding Interview Tips and Tricks
- Coding Interview Tips and Tricks
- How to prepare for a coding interview
- How to ace a coding interview
- How to answer behavioral questions in a coding interview
- How to answer technical questions in a coding interview
- How to ace a whiteboard coding interview
- How to ace a take-home coding interview
- How to ace a pair programming interview
- How to ace a system design interview
- How to ace a behavioral interview
- How to ace a phone interview
- How to ace a video interview
- How to ace a remote coding interview
- How to ace a coding challenge
- How to ace a coding interview with no experience
- How to ace a coding interview with no CS degree

16. Coding Interview Questions and Answers
- Coding Interview Questions and Answers
- How to answer "Tell me about yourself" in a coding interview
- How to answer "What are your strengths?" in a coding interview
- How to answer "What are your weaknesses?" in a coding interview
- How to answer "Why do you want to work here?" in a coding interview
- How to answer "Why should we hire you?" in a coding interview
- How to answer "What is your greatest accomplishment?" in a coding interview
- How to answer "Where do you see yourself in 5 years?" in a coding interview
- How to answer "What motivates you?" in a coding interview
- How to answer "What makes you unique?" in a coding interview
- How to answer "What interests you about this job?" in a coding interview
- How to answer "What is your greatest strength?" in a coding interview
- How to answer "What is your greatest weakness?" in a coding interview
- How to answer "What are your salary expectations?" in a coding interview
- How to answer "Do you have any questions for me?" in a coding interview
- How to answer "What is your dream job?" in a coding interview
- How to answer "What are you passionate about?" in a coding interview
- How to answer "What are your hobbies?" in a coding interview
- How to answer "What are you looking for in a new position?" in a coding interview
- How to answer "What are your long-term career goals?" in a coding interview
- How to answer "What is your ideal work environment?" in a coding interview
- How to answer "What is your ideal company culture?" in a coding interview
- How to answer "What is your management style?" in a coding interview
- How to answer "What is your teaching philosophy?" in a coding interview
- How to answer "What is your work style?" in a coding interview
- How to answer "What is your work ethic?" in a coding interview
- How to answer "What is your greatest failure?" in a coding interview
- How to answer "What is your greatest fear?" in a coding interview
- How to answer "What is your greatest regret?" in a coding interview
- How to answer "What is your greatest accomplishment?" in a coding interview
- How to answer "What is your greatest achievement?" in a coding interview
- How to answer "What is your greatest strength?" in a coding interview
- How to answer "What is your greatest weakness?" in a coding interview
- How to answer "What is your greatest challenge?" in a coding interview
- How to answer "What is your greatest contribution to the company?" in a coding interview

***Thanks for reading!***

*If you like this course, please give it a star on GitHub and share it with your friends and colleagues. and follow me on [GitHub](https://github.com/ajay-dhangar) and [Twitter](https://twitter.com/AJAYDHA27250016) to stay tuned for more courses and tutorials!*

> If you have any questions, please feel free to reach out to me on Twitter [@AJAYDHA27250016](https://twitter.com/AJAYDHA27250016).

***Happy coding!***