Book Image

Learning JavaScript Data Structures and Algorithms - Second Edition

By : Loiane Groner
Book Image

Learning JavaScript Data Structures and Algorithms - Second Edition

By: Loiane Groner

Overview of this book

This book begins by covering basics of the JavaScript language and introducing ECMAScript 7, before gradually moving on to the current implementations of ECMAScript 6. You will gain an in-depth knowledge of how hash tables and set data structure functions, as well as how trees and hash maps can be used to search files in a HD or represent a database. This book is an accessible route deeper into JavaScript. Graphs being one of the most complex data structures you’ll encounter, we’ll also give you a better understanding of why and how graphs are largely used in GPS navigation systems in social networks. Toward the end of the book, you’ll discover how all the theories presented by this book can be applied in real-world solutions while working on your own computer networks and Facebook searches.
Table of Contents (18 chapters)
Learning JavaScript Data Structures and Algorithms - Second Edition
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

Doubly linked lists


There are different types of linked lists. In this section, we are going to cover the doubly linked list. The difference between a doubly linked list and a normal linked list is that in a linked list, we make the link from one node to the next one only, while in the doubly linked list, we have a double link: one for the next element and one for the previous element, as shown in the following diagram:

Let's get started with the changes that are needed to implement the DoublyLinkedList class:

function DoublyLinkedList() { 
 
 let Node = function(element){ 
 
   this.element = element; 
   this.next = null; 
   this.prev = null; //NEW 
 }; 
 
 let length = 0; 
 let head = null; 
 let tail = null; //NEW 
 
 //methods here 
} 

As we can see in this code, the differences between the LinkedList class and the DoublyLinkedList class are marked by NEW. Inside the Node class, we have the prev attribute (a...