Learning JavaScript Data Structures and Algorithms
Loiane Groner
- 426 páginas
- English
- ePUB (apto para móviles)
- Disponible en iOS y Android
Learning JavaScript Data Structures and Algorithms
Loiane Groner
Información del libro
Create classic data structures and algorithms such as depth-first search and breadth-first search, learn recursion, as well as create and use a heap data structure using JavaScriptAbout This Book• Implement common data structures and the associated algorithms along with the context in which they are used• Master existing JavaScript data structures such as arrays, sets, and maps, and learn how to implement new ones such as stacks, linked lists, trees, and graphs in ES 8• Develop abstract data types to make JavaScript a more flexible and powerful programming languageWho This Book Is ForIf you're a JavaScript developer who wants to dive deep into JavaScript and write complex programs using JavaScript data structures and algorithms, this book is for you.What You Will Learn• Declare, initialize, add, and remove items from arrays, stacks, and queues• Create and use linked lists, doubly linked lists, and circular linked lists• Store unique elements with hash tables, dictionaries, and sets• Explore the use of binary trees and binary search trees• Sort data structures using algorithms such as bubble sort, selection sort, insertion sort, merge sort, and quick sort• Search elements in data structures using sequential sort and binary searchIn DetailA 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. With this book, you will learn to write complex and powerful code using the latest ES 2017 features.Learning JavaScript Data Structures and Algorithms begins by covering the basics of JavaScript and introduces you to ECMAScript 2017, before gradually moving on to the most important data structures such as arrays, queues, stacks, and linked lists. You will gain in-depth knowledge of how hash tables and set data structures function as well as how trees and hash maps can be used to search files in an HD or represent a database. This book serves as a route to take you deeper into JavaScript. You'll also get a greater understanding of why and how graphs, one of the most complex data structures, are largely used in GPS navigation systems in social networks.Toward the end of the book, you'll discover how all the theories presented in this book can be applied to solve real-world problems while working on your own computer networks and Facebook searches.Style and approachEasy to follow guide which will cover the most used data structures and sorting/searching algorithms known in the computer science world along with examples to help the readers understand each chapter thoroughly.
Preguntas frecuentes
Información
Trees
- Tree terminology
- Creating a binary search tree
- Traversing a tree
- Adding and removing nodes
- The AVL tree
The tree data structure
Tree terminology
The binary and binary search trees
Creating the Node and BinarySearchTree classes
export class Node { constructor(key) { this.key = key; // {1} node value this.left = null; // left child node reference this.right = null; // right child node reference } }
import { Compare, defaultCompare } from '../util'; import { Node } from './models/node'; export default class BinarySearchTree { constructor(compareFn = defaultCompare) { this.compareFn = compareFn; // used to compare node values this.root = null; // {1} root node of type Node }
- insert(key): This method inserts a new key in the tree
- search(key): This method searches for the key in the tree and returns true if it exists and false if the node does not exist
- inOrderTraverse(): This method visits all nodes of the tree using in-order traverse
- preOrderTraverse(): This method visits all nodes of the tree using pre-order traverse
- postOrderTraverse(): This method visits all the nodes of the tree using post-order traverse
- min(): This method returns the minimum value/key in the tree
- max(): This method returns the maximum value/key in the tree
- remove(key): This method removes the key from the tree...