If you're trying to learn about data structures or algorithms, you're in luck - there are a lot of resources out there.

Here are a few book recommendations - along with some other resources at the end - to get you started.

## Books about data structures and algorithms

*Data Structures in JavaScript*

- Free book which covers Data Structures in JavaScript (you can find the GitBook here).

*Learning JavaScript Data Structures and Algorithms - Second Edition, *by Loiane Groner

- Covers object oriented programming, prototypal inheritance, sorting & searching algorithms, quicksort, mergesort, binary search trees and advanced algorithm concepts

*Data Structures and Algorithms with JavaScript: Bringing classic computing approaches to the Web* by Michael McMillan

- Covers recursion, sorting and searching algorithms, linked lists and binary search trees.

*Data Structures* by Seymour Lipschutz

- A machine and language agnostic book which explains data structures in a clear and straightforward way. Includes examples, diagrams, and pseudo-code.

*Introduction to Algorithms* by Thomas H Cormen et al

- Another language agnostic book, contains examples in pseudo-code. Appropriate for both teaching and professional environments. Each chapter covers an algorithm - you don't have to read the whole book straight through from beginning to end.

*Data Structures in C*, by Noel Kalicharan

- Covers the basics and makes data structures seem easier than other books manage to do. Teaches introductory concepts like linked lists, stacks, sorting, binary trees, and searching. Great beginner's book, but useful to more advanced students as well.

*Algorithms in C*, by Robert Sedgewick

- Focuses on implementations of algorithms in C in areas of sorting, searching, string processing, graph, geometric, and mathematical algorithms. Discusses why certain algorithms are more effective than others. Numerous figures throughout the book help illustrate how these algorithms work.

Please feel free to add more that you have found useful!

## More resources about data structures and algorithms:

Great resources for learning data structures and algorithms

An intro to advanced sorting algorithms in JavaScript

Free video course on data structures and algorithms in JavaScript