售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
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
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜