**Autor: Loiane Groner**

Broj strana: 426

ISBN broj: 9781788623872

Izdavač:
PACKT PUBLISHING

Godina izdanja: 2019.

Predlog za prevod

- 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 search

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. 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.

- 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 language

**Table of contents**

**1 JavaScript – A Quick Overview **

JavaScript data structure and algorithms

Setting up the environment

JavaScript basics

Debugging and tools

Summary **2 ECMAScript and TypeScript Overview **

ECMAScript or JavaScript?

ECMAScript 2015+ functionalities

Introducing TypeScript

Summary **3 Arrays **

Why should we use arrays?

Creating and initializing arrays

Adding elements

Removing elements

Adding and removing elements from a specific position

Two-dimensional and multi-dimensional arrays

References for JavaScript array methods

The TypedArray class

Arrays in TypeScript

Summary **4 Stacks **

Creating a JavaScript data structure and algorithm library

The stack data structure

Creating a JavaScript object-based Stack class

Protecting the internal elements of the data structure

Solving problems using stacks

Summary **5 Queues and Deques **

The queue data structure

The deque data structure

Solving problems using queues and deques

Summary

6 Linked Lists

The linked list data structure

Doubly linked lists

Circular linked lists

Sorted linked lists

Creating the StackLinkedList class

Summary **7 Sets **

Structuring a dataset

Creating a Set class

Set operations

ECMAScript 2015 – the Set class

Multisets or bags

Summary **8 Dictionaries and Hashes **

The dictionary data structure

The hash table

The ES2015 Map class

The ES2015 WeakMap and WeakSet classes

Summary **9 Recursion **

Understanding recursion

Calculating the factorial of a number

The Fibonacci sequence

Why use recursion? Is it faster?

Summary **10 Trees **

The tree data structure

Tree terminology

The binary and binary search trees

Tree traversal

Searching for values in a tree

Self-balancing trees

Summary **11 Binary Heap and Heap Sort **

The binary heap data structure

The heap sort algorithm

Summary **12 Graphs **

Graph terminology

Representing a graph

Creating the Graph class

Graph traversals

Shortest path algorithms

Minimum spanning tree (MST)

Summary **13 Sorting and Searching Algorithms **

Sorting algorithms

Searching algorithms

Shuffle algorithms

Summary **14 Algorithm Designs and Techniques **

Divide and conquer

Dynamic programming

Greedy algorithms

Backtracking algorithms

Introduction to functional programming

Summary **15 Algorithm Complexity **

Big O notation

Having fun with algorithms

Summary

**• B**

Prevedite je....

**• Vladimir Nikolic**

Kada je planirano da izadje prevedeno izdanje?

© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272 |
||