First Course in Algorithms Through Puzzles by Ryuhei Uehara
Handbook of data structures and applications by Dinesh P. Mehta, Sartaj Sahni, 2018 ed.
Learning Algorithms - A Programmer’s Guide to Writing Better Code by George T. Heineman
Learning Algorithms Through Programming and Puzzle Solving by Alexander S. Kulikov and Pavel Pevzner
Data Structures & Problem Solving Using Java by Mark Allen Weiss
Data Structures and Algorithms in Java by Michael McMillan: This book focuses on implementing graph algorithms and data structures in Java, providing practical examples and exercises with code.
Problem Solving in Data Structures & Algorithms Using JAVA by Hemant Jain
The Algorithm Design Manual by Steven S. Skiena
Think Data Structures - Algorithms and Information Retrieval in Java by Allen B. Downey
Algorithms by Robert Sedgewick and Kevin Wayne (Princeton University)
Data Structures and Algorithms - Learn from Scratch by Rahul Maurya
Algorithms and Data Structures The Basic Toolbox by Kurt Mehlhorn and Peter Sanders
A Common-Sense Guide to Data Structures and Algorithms - Level Up Your Core Programming Skills by Jay Wengrow
Algorithms and Programming - Problems and Solutions by Alexander Shen <Refer to chapter 3 Tree traversal (backtracking) for N-Queens Problem>
Algorithms by S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani
Java Software Structures - Designing and Using Data Structures by John Lewis, Joseph Chase
Algorithms in Action by Victor Savvich <Definitely go through Chapter 1 : Review, Chapter 7: Network Flow. Overall good overview>
Grokking Algorithms by Aditya Y.Bhargava
Data Structures and Algorithms- Annotated Reference with Examples by Granville Barnett
Guide to Competitive Programming - Learning and Improving Algorithms Through Contests by Antti Laaksonen
Dynamic Programming for Coding Interviews - A Bottom-up approach to problem solving by Meenakshi & Kamal Rawat
Data Structures and Algorithms by Kartik Kapoor (Link)
Data Structures & Algorithms in Python by John Canning, Alan Broder, Robert Lafore
Data Structures and Algorithms Using Python by Rance D. Necaise Link
Algorithms for Graphs and Networks by Brenda Sanders and Domenico Toraldo: A comprehensive textbook on graph algorithms and their applications
Sorting
“The Art of Computer Programming, Volume 3: Sorting and Searching” by Donald Knuth: A comprehensive and rigorous treatment of sorting algorithms
“Interactive Sorting Visualizations”: https://visualgo.net/en/sorting - An interactive website that demonstrates different sorting algorithms.
Searching
“Introduction to Information Retrieval” by Christopher D. Manning, Prabhakar Raghavan, and Hinrich Schütze: An in-depth look at search algorithms and information retrieval techniques