Cover image for Learning JavaScript Data Structures and Algorithms.
Learning JavaScript Data Structures and Algorithms.
Title:
Learning JavaScript Data Structures and Algorithms.
Author:
Groner, Loiane.
ISBN:
9781783554881
Personal Author:
Physical Description:
1 online resource (254 pages)
Contents:
Learning JavaScript Data Structures and Algorithms -- Table of Contents -- Learning JavaScript Data Structures and Algorithms -- Credits -- About the Author -- Acknowledgments -- About the Reviewers -- www.PacktPub.com -- Support files, eBooks, discount offers, and more -- Why subscribe? -- Free access for Packt account holders -- Preface -- What this book covers -- What you need for this book -- Who this book is for -- Conventions -- Reader feedback -- Customer support -- Downloading the example code -- Downloading the color images of this book -- Errata -- Piracy -- Questions -- 1. JavaScript - A Quick Overview -- Setting up the environment -- The browser is enough -- Using web servers (XAMPP) -- It's all about JavaScript (Node.js) -- JavaScript basics -- Variables -- Variable scope -- Operators -- Truthy and falsy -- The equals operators (== and ===) -- Control structures -- Conditional statements -- Loops -- Functions -- Object-oriented programming -- Debugging and tools -- Summary -- 2. Arrays -- Why should we use arrays? -- Creating and initializing arrays -- Adding and removing elements -- Two-dimensional and multi-dimensional arrays -- References for JavaScript array methods -- Joining multiple arrays -- Iterator functions -- Searching and sorting -- Custom sorting -- Sorting strings -- Searching -- Outputting the array into a string -- Summary -- 3. Stacks -- Creating a stack -- The complete Stack class -- Using the Stack class -- Decimal to binary -- Summary -- 4. Queues -- Creating a queue -- The complete Queue class -- Using the Queue class -- The priority queue -- The circular queue - Hot Potato -- Summary -- 5. Linked Lists -- Creating a linked list -- Appending elements to the end of the linked list -- Removing elements from the linked list -- Inserting an element at any position -- Implementing other methods -- The toString method.

The indexOf method -- The isEmpty, size, and getHead methods -- Doubly linked lists -- Inserting a new element at any position -- Removing elements from any position -- Circular linked lists -- Summary -- 6. Sets -- Creating a set -- The has (value) method -- The add method -- The remove and clear methods -- The size method -- The values method -- Using the Set class -- Set operations -- Set union -- Set intersection -- Set difference -- Subset -- Summary -- 7. Dictionaries and Hashes -- Dictionaries -- Creating a dictionary -- The has and set methods -- The remove method -- The get and values methods -- The clear, size, keys, and getItems methods -- Using the Dictionary class -- The hash table -- Creating a hash table -- Using the HashTable class -- Hash table versus hash set -- Handling collisions between hash tables -- Separate chaining -- The put method -- The get method -- The remove method -- Linear probing -- The put method -- The get method -- The remove method -- Creating better hash functions -- Summary -- 8. Trees -- Trees terminology -- Binary tree and binary search tree -- Creating the BinarySearchTree class -- Inserting a key in a tree -- Tree traversal -- In-order traversal -- Pre-order traversal -- Post-order traversal -- Searching for values in a tree -- Searching for minimum and maximum values -- Searching for a specific value -- Removing a node -- Removing a leaf node -- Removing a node with a left or right child -- Removing a node with two children -- More about binary trees -- Summary -- 9. Graphs -- Graph terminology -- Directed and undirected graphs -- Representing a graph -- The adjacency matrix -- The adjacency list -- The incidence matrix -- Creating the Graph class -- Graph traversals -- Breadth-first search (BFS) -- Finding the shortest paths using BFS -- Further studies on the shortest paths algorithms.

Depth-first search (DFS) -- Exploring the DFS algorithm -- Topological sorting using DFS -- Summary -- 10. Sorting and Searching Algorithms -- Sorting algorithms -- Bubble sort -- Improved bubble sort -- Selection sort -- Insertion sort -- Merge sort -- Quick sort -- The partition process -- Quick sort in action -- Searching algorithms -- Sequential search -- Binary search -- Summary -- Index.
Abstract:
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.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: