Learning JavaScript Data Structures and Algorithms
3.1 (67 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
430 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learning JavaScript Data Structures and Algorithms to your Wishlist.

Add to Wishlist

Learning JavaScript Data Structures and Algorithms

Find out how data structures and algorithms can be used to solve programming problems using JavaScript
3.1 (67 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
430 students enrolled
Created by Packt Publishing
Last updated 11/2015
Current price: $10 Original price: $75 Discount: 87% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 1.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Master existing JavaScript collections such as arrays, sets, and maps
  • Develop abstract data types to extend JavaScript into a more flexible and powerful programming language
  • Grasp the basics of software engineering to differentiate yourself from undisciplined coders
  • Conjure powerful algorithms to traverse dense graphs and trees in the least possible steps
  • Devour the science of comparing different algorithms to choose the best one for the respective task
  • Search and sort native and custom data types through collection iterator methods
  • Create complex abstract data types by reusing existing classes
View Curriculum
  • The course does not talk about graph theory, set theory, and other advanced mathematical concepts, so no prior knowledge of advanced mathematical concept is necessary.

As businesses collect increasing amounts of vital data, the need to structure software components increases every day. Using appropriate data structures and having a good understanding of algorithm analysis is key to writing maintainable and extensible quality software, thus solving the crisis.

Learning JavaScript Data Structures and Algorithms will show you how to organize your code with the most appropriate data structures available to get the job done fast, and in a logical way that is easy to maintain, refactor, and test. By using effective data structures, you can take advantage of advanced algorithms, thus making your web applications more powerful and scalable. You will learn about common software engineering data structures, such as linked-lists, trees, and graphs, and get to know how to implement them in JavaScript. You’ll also master ways to use them in various types of algorithms.

You will begin by finding out how to build on native JavaScript constructs, and create collections such as maps, queues, stacks, sets, graphs, and other data structures. You will then discover how to develop, analyze, and improve algorithms to search deep trees, lists, and other complex collections, as well as sorting containers of data.

This practical course will guide you through a web application development cycle using a structured and disciplined approach, focusing on accuracy and efficiency as you build quality software.

About The Author

Rodrigo Formigone Silveira is a software engineer at Deseret Digital Media. There, he divides his time developing in PHP, JavaScript, and Java for Android. Some of his hobbies outside of work include blogging and recording educational videos about software development, learning about new technologies, and finding ways to push the web forward.

Rodrigo received his Bachelor's of Science in Computer Science from Brigham Young University, Idaho, as well as an Associate's Degree in Business Management from LDS Business College in Salt Lake City, Utah.

His fascination for game development began in his early teenage years, and his skills grew as he discovered the power of a library subscription. He has a curious and willing mind, with understanding and supporting parents and friends.

Today, Rodrigo balances his time between the three great passions of his life—his family, software development, and video games (with the last two usually being mingled together).

Who is the target audience?
  • If you are a web developer with a good grasp of the fundamentals of JavaScript, and you are confident with the essentials but want to delve deeper and understand data structures and algorithms, then this course is for you.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
15 Lectures
Introduction to Data Structures and Algorithms
4 Lectures 09:32

Who am I, and what is this course about.

The Course Overview

It is difficult to write complex software systems that run correctly. Most importantly, these systems must be easy to maintain and extend. Building software systems in a structured and efficient way helps to manage all three of the aforementioned problems.

What Are Data Structures and Algorithms?

JavaScript is used in large applications running in a browser and in Node.js. Without proper data structures, large code bases can be difficult to build accurately maintain.

Why Use Data Structures in JavaScript?

Each data structure is explained in this manner: what it does, what it's used for, and what its supported operations are.

Course Format and Datasets Contexts
Arrays, Linked Lists, and Sets
3 Lectures 21:54

JavaScript allows us to work with simple native types, as well as complex custom objects. Arrays allow us to group related data as a single collection of elements.

Preview 05:27

Arrays are great for constant time indexing and data locality. However, some operations can be very slow, such as inserting an item in the middle of a list. Linked lists offer many advantages over arrays in some cases.

Exploring Linked Lists

Neither lists nor arrays enforce any rules regarding duplicate items being stored in them. A set is a collection of unique objects.

Introduction to Sets
Queues and Stacks
2 Lectures 08:57

Queues are lists that preserve the insertion order of its elements, such that the first element added is the next first to be removed (FIFO). A common use case for a queue is a task queue. Tasks to be performed are added to a queue, and then they're processed in the order they were added to the queue.

Preview 04:38

Stacks are lists that preserve the insertion order of their elements, such that the last element added is the next first to be removed (LIFO). A common use case for a stack is performing nested operations such as recursion.

Exploring Stacks
Trees and Graphs
2 Lectures 12:53

Binary trees are special types of trees that are most commonly used to search over a data space very quickly. Binary trees are also very fast to insert and delete, much like linked lists, but finding operations are much faster.

Preview 05:11

A graph is a complex data structure that is made up of a connection of vertices connected by edges.

Exploring Graphs
Algorithms and Complexity Analysis
2 Lectures 13:36

An algorithm is a set of steps taken in order to solve a specific problem. One way to compare different algorithms in order to determine the best one needed, is to describe its complexity using Big-O.

Preview 06:57

There are two general approaches to traversing graphs, which is one powerful way to represent a map. These two approaches are depth-first and breadth-first searches.

Pathfinding Algorithms
Peeking into Algorithms to Sort and Search
2 Lectures 16:14

This class of algorithms will describe three of the most popular sorting algorithms, namely, bubble sort, merge sort, and quicksort.

Preview 09:12

This class of algorithms will describe two of the most popular searching algorithms, namely, linear search and binary search.

About the Instructor
Packt Publishing
4.0 Average rating
6,473 Reviews
48,330 Students
566 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.