Elementary Data Structures
We need to comprehend concepts like data structure and algorithms if we wish to work as software engineers or in a related data science field.
Unit 1: Abstract Data Types and Arrays in C++
This unit introduces me to Abstract Data Types and explains the difference between a Data Structure and an Abstract Data Type. Arrays and the abstracted version of the array data type in C++ will also be covered.
Unit 2: Introduction to Stacks and Queues
This section taught us about the two basic Data Structures: Stacks and Queues, as well as the actions that each Stack and Queue implementation must provide. We also learn how to create a Stack and a Queue using arrays and circular arrays, as well as the benefits and drawbacks of doing so.
Unit 3: Pointers and References in C++
I got a better knowledge of how variables are declared and stored in memory in this unit. Pointers were also discussed, as well as how they can be utilized to refer to specific memory locations.
Unit 4: Dynamic Memory Allocation
In this, I look at dynamic memory allocation. When constructing programs and Data Structures. You’ll be able to request memory during runtime if you learn about dynamic memory allocation. We’ll also go into memory allocation and de-allocation hazards, as well as memory leaks and dangling pointers.
Unit 5: Linked Stacks, Queues, and Lists
I understand how to go around contiguous and non-contiguous memory now that we’ve gone through memory pointers in depth.
Unit 6: Algorithm Efficiency
When building Data Structures, developers take into a variety of factors. The effectiveness of the algorithms, that may be employed on the Data Structures is one of the most essential characteristics. In this lesson, I covered how to evaluate the efficiency of an algorithm, as well as the issues that can occur when doing so.
Unit 7: Searching and Sorting Algorithms
I learned how to apply searching and sorting algorithms to arrays in this unit. I also learned how to analyze these algorithms in worst-case and best-case scenarios, estimate their efficiency, and assign them generalized Big O notations.
Unit 8: Hash Tables, Graphs, and Trees
This section has examined the challenges that computer scientists face when utilizing array indexes and propose Hash Tables as a solution. Students will learn about the many types of Hash Tables and their distinct performance efficiency. The section will conclude with an introduction to graphs, including trees and binary trees, as well as specific graph types.
Through this course, I learned how to use these new Data Structures, as well as the operations that go with them, and the various ways to traverse, search and sort them.