4.8
Intermediate
28h
Data Structures with Generic Types in Java
Gain insights into implementing array-based and linked list data structures, explore advanced structures like skiplists, hashing, and graphs, and learn reusable, template-based collections for efficient data analysis.
Pick a Language
Pick a Language
Data structures and algorithms are essential in computer science since they play a crucial role in efficient information retrieval and processing, dealing with files, storing contacts on phones, social networks and web searches.
In this course, you’ll learn about the array-based implementation of various linear data structures, stack, and queues. You’ll also learn about linked list-based implementation. Next, you’ll explore advanced data structures like skiplists and hashing. You’ll learn how to implement a variety of trees and graphs, and data structures related to bits of an integer. Toward the end of the course, you’ll learn the implementation of structures based on external storage.
After completing this course, you’ll be able to create reusable programs with template-based collections that can efficiently analyze how to optimize the storage and retrieval of very large amounts of data. Overall, this course will enhance your productivity and performance as a software developer.
Data structures and algorithms are essential in computer science since they play a crucial role in efficient information retriev...Show More
WHAT YOU'LL LEARN
Thorough understanding of data structures and algorithms
Working knowledge of array-based, linked list-based, and blended implementations
Hands-on experience of Java interfaces, classes, and templates
Familiarity with complexity analysis of data structures and related algorithms
Thorough understanding of data structures and algorithms
Show more
Content
1.
Overview
8 Lessons
Get familiar with data structures' basics, their efficiency, interfaces, and mathematical foundations.
2.
Array-Based Lists
10 Lessons
Get started with array-based lists, from ArrayStack to RootishArrayStack, enhancing efficiency.
Array Implementation of StackArrayQueue: An Array-Based QueueArrayDeque: Fast Deque Operations Using an ArrayDualArrayDeque: Building a Deque from Two StacksRootishArrayStack: A Space-Efficient Array StackAnalysis of RootishArrayStackQuiz on Array-Based ListsDiscussion on Array-Based ListsExercise: Array-Based ListsSolution: Array-Based Lists
3.
Linked Lists
7 Lessons
Examine linked lists, their types, operations, efficiency, and advanced variations.
4.
Skiplists
8 Lessons
Break down complex ideas of implementing and analyzing Skiplist data structures for efficient operations.
5.
Hash Tables
7 Lessons
Explore efficient storage with hash tables, focusing on chaining, probing, and hash codes.
6.
Binary Trees
5 Lessons
Focus on understanding binary trees, basic construction, binary search trees, traversals, and implementation nuances.
7.
Random Binary Search Trees
6 Lessons
Practice using randomized binary search trees and Treaps for efficient operations.
8.
Scapegoat Trees
6 Lessons
Get familiar with maintaining balance in Scapegoat Trees and optimizing their operations effectively.
9.
Red-Black Trees
5 Lessons
Discover the logic behind Red-Black Trees, their operations, and their efficiency in balanced data structures.
10.
Heaps
6 Lessons
Go hands-on with BinaryHeap, MeldableHeap, their operations, efficiency, and practical exercises.
11.
Sorting Algorithms
9 Lessons
Apply your skills to understanding and implementing various sorting algorithms and their efficiencies.
12.
Graphs
8 Lessons
Take a closer look at graph structures, representations, traversal algorithms, and sink identification.
13.
Data Structures for Integers
4 Lessons
Follow the process of implementing optimized data structures for efficient integer operations.
14.
External Memory Searching
6 Lessons
Master the steps to implement, search, add, and remove efficiently with B-Trees.
15.
Wrap Up
1 Lessons
Get familiar with comprehensive data structures in Java, from arrays to graph implementations.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Developed by MAANG Engineers
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
Evan Dunbar
ML Engineer
"You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it."
Software Developer
Carlos Matias La Borde
"I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site"
Souvik Kundu
Front-end Developer
"Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources