Introduction to Algorithms and data structures, Abstract data types, complexity analysis, Big Oh notation, Stacks (linked lists and array implementations), Recursion and analyzing recursive algorithms, divide and conquer algorithms, Sorting algorithms (selection, insertion, merge, quick, bubble, heap, shell, radix, bucket), queue, dequeuer, priority queues (linked and array implementations of queues), linked list & its various types, sorted linked list, searching an unsorted array, binary search for sorted arrays, trees and tree traversals, binary search trees, heaps, M-way tress, balanced trees, graphs, breadth-first and depth-first traversal, topological order, shortest path, adjacency matrix and adjacency list implementations, memory management and garbage collection, hashing and indexing, open addressing and chaining
Implement various data structures and their algorithms, and apply them in implementing simple applications.
Analyze simple algorithms and determine their complexities.
Apply the knowledge of data structures to other application domains.
Design new data structures and algorithms to solve problems
Introduction to Algorithms, Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford, Third Edition (International Edition),Publisher: The MIT Press, 2009, ISBN 10: 0262533057 ISBN 13: 9780262533058
Data Structures With Java by Schaum Lipschutz, Publisher: McGraw-Hill Education; 2 edition (June 16, 2009), ISBN-10: 0071611614, ISBN-13: 978-0071611619
Data Structures and Algorithm Analysis in Java by Mark A. Weiss, 3rd Edition, Publisher: Pearson; 3 edition (November 28, 2011), ISBN-10: 0132576279 ISBN-13: 978-0132576277
Data Structures and Abstractions with Java by Frank M. Carrano & Timothy M. Henry, 5th Edition, Publisher: Pearson; 5 edition (March 11, 2018), ISBN-10: 0134831691 ISBN-13: 978-0134831695
Java Software Structures: Designing and Using Data Structures by John Lewis and Joseph Chase,Publisher: Pearson; 4 edition (March 7, 2013), ISBN-10: 0133250121 ISBN-13: 978-0133250121
Data Structures and Algorithms in C++ by Adam Drozdek,4 edition, ISBN-13: 978-1133608424 ISBN-10: 1133608426 Data Structures With C by Schaum by Lipschutz Seymour, Publisher: McGraw-Hill Education; 2 edition (June 16, 2009), ISBN: 9780070701984, 9780070701984