About This Book
- Learn how to use the most used data structures such as array, stack, list, tree, and graphs with real-world examples
- Get a grasp on which one is best between searching and sorting algorithms and learn how to implement them
- Follow through solutions for notable programming problems with step-by-step explanations
Who This Book Is For
If you are a JavaScript developer or someone who has basic knowledge of JavaScript, and want to explore its optimum ability, this fast-paced book is definitely for you. Programming logic is the only thing you need to know to start having fun with algorithms.
What You Will Learn
- Declare, initialize, add, and remove items from arrays, stacks, and queues
- Create and use the most complex data structure, graphs, along with DFS and BFS algorithms
- Grasp the power of linked lists, doubly linked lists, and circular linked lists
- Store unique elements with hash tables, dictionaries, and sets
- Explore the applications of binary trees and binary search trees
- Sort data structures using bubble sort, selection sort, insertion sort, merge sort, and quick sort
- Search elements in data structures using sequential sort and binary search
- Understand the importance of big O notation, dynamic programming, and greedy algorithms
In Detail
A data structure is a particular way of organizing data in a computer to utilize resources efficiently. Data structures and algorithms are the base of every solution to any programming problem.
This book begins by covering the basics of the JavaScript language and then moves on to discuss the most important data structures such as array, queue, stack, and linked list. You will also gain an in-depth knowledge of how hash tables and set data structure function. After this, you will be taught what trees are, and how to use the binary tree and the binary search tree.
In subsequent chapters, you will learn about graphs, DFS, and BFS. Finally, we will round off by learning how to differentiate between various searching and sorting algorithms such as sequential search, binary search, quick sort, bubble sort, and so on, and how to implement them. Towards the end of the book, you will also be introduced to dynamic programming.