Learning JavaScript data structures and algorithms understand and implement classic data structures and algorithms using JavaScript

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.

Detalles Bibliográficos
Otros Autores: Groner, Loiane, author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham : Packt Publishing 2014.
Edición:1st edition
Colección:Community experience distilled.
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009628699906719
Tabla de Contenidos:
  • Cover; Copyright; Credits; About the Author; Acknowledgments; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 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; Chapter 2: Arrays; Why should we use arrays?; Creating and initializing arrays
  • Adding and removing elementsTwo-dimensional and multi-dimensional arrays; Reference for JavaScript array methods; Joining multiple arrays; Iterator functions; Searching and sorting; Custom sorting; Sorting strings; Searching; Outputting the array into a string; Summary; Chapter 3: Stacks; Creating a stack; The complete Stack class; Using the Stack class; Decimal to binary; Summary; Chapter 4: Queues; Creating a queue; The complete Queue class; Using the Queue class; Priority queue; Circular queue - Hot Potato; Summary; Chapter 5: Linked Lists; Creating a linked list
  • Appending elements to the end of the linked listRemoving 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; Chapter 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
  • SummaryChapter 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; Linear probing; Creating better hash functions; Summary; Chapter 8: Trees; Trees terminology; Binary tree and binary search tree; Creating the BinarySearchTree class; Inserting a key in a tree; Tree traversal
  • In-order traversalPre-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; Chapter 9: Graphs; Graph terminology; Directed and undirected graphs; Representing a graph; Adjacency matrix; Adjacency list; 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