Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Data Structures in C++
Rating: 4.8 out of 5(39 ratings)
2,174 students

Data Structures in C++

Mastering Data Structures in C++: Build Robust Foundations for Efficient Coding!
Created byRaja Mehmood
Last updated 3/2024
English
English [Auto],

What you'll learn

  • Demonstrate knowledge of the concepts of data structures, logical structure and storage structure of data and their basic operation.
  • Demonstrate ability to solve practical problems using suitable data structures and methods.
  • Master the design and analysis methods of searching and sorting algorithm.
  • Learn full concepts of strings, arrays, linked-list, stacks, queues, recursion, trees, binary search trees, graphs, and many more.

Course content

1 section15 lectures14h 28m total length
  • Course Outline2:01

    Explore how data structures organize data for efficient memory access, covering linked lists, stacks, queues, arrays, strings, trees, graphs, and core searching and sorting algorithms in C and C++.

  • Introduction1:05:12

    Discover how data structures organize data for efficient access in c++, from primitive to non-primitive forms, including arrays, linked lists, stacks, queues, trees, and graphs.

  • Strings1:18:59

    Explore the C++ string class library to declare and initialize strings, perform operations like concatenation, assignment, append, and find, and interoperate with C strings using c_str and substr.

  • Arrays1:13:54

    Learn how arrays store multiple same-type items contiguously in memory and access them with indices. Explore initialization, traversal, and indexing for 1D/2D arrays in C++ while noting out-of-bounds errors.

  • Linked List1:18:03

    Explore abstract data types and implement a linked list in C++ by modeling nodes with data and a next pointer, using a list class to manage insertion, deletion, and display.

  • Stacks52:23

    Explore the stack data structure in C++ by implementing push and pop operations using array and linked list, and understand top, empty, and dynamic versus static stacks.

  • Queues1:01:51

    Explore the queue data structure in C++ by examining its ADT operations, enqueuing and dequeuing, and implementing queues with arrays and linked lists using FIFO, front, and rear.

  • Recursion51:17

    Master recursion in data structures with C++, learn base and recursive cases, stack activation records, and direct and indirect recursion through factorial and fibonacci examples.

  • Binary Trees43:19

    Explore binary trees and binary search trees in data structures in C++, understanding roots, leaves, nodes, edges, depth, height, and basic search operations.

  • Binary Search Trees (BST)55:56

    Discover binary search tree traversal with preorder, inorder, and postorder from the root, and master insertion and deletion including leaf, one-child, and two-child cases.

  • Graphs1:10:11

    Explore graphs by defining vertices and edges, directed and undirected, weighted and unweighted, with adjacency matrix or list, and learn dfs and bfs through practical city map and network examples.

  • Graphs: Shortest Path Algorithms1:14:19

    Model routes as weighted graphs and compute shortest paths with Bellman-Ford and Dijkstra, using relaxation and a priority queue, while noting optimal substructure, triangle inequality, and negative weights and cycles.

  • Searching Algorithms48:05

    Explore sequential and binary search algorithms on arrays, learn how midpoints drive division, and compare time complexities from best to worst cases.

  • Sorting Algorithms I54:41

    Explore sorting algorithms in data structures using c++, focusing on internal sorting. Cover selection sort, insertion sort, and bubble sort with practical examples.

  • Sorting Algorithms II57:55

    Delve into two divide-and-conquer sorting algorithms, merge sort and quicksort, covering recursive division, merging, partitioning with a pivot, and their time complexities.

Requirements

  • Basic computer knowledge is required.

Description

Data Structures is indeed an essential course for students in the field of data science, computer science, or related backgrounds. It provides a strong foundation in understanding core concepts and techniques necessary for writing high-quality programs and developing efficient algorithms. Here are the key topics covered in a typical Data Structures course:

  1. Logical and Storage Structure of Data: Students learn about the logical organization of data and how it is stored in computer memory. They understand the difference between abstract data types (ADTs) and their physical implementations.

  2. Basic Operations: Students gain knowledge about the fundamental operations performed on data structures, such as insertion, deletion, traversal, searching, and sorting.

  3. Arrays: Students explore the concepts of arrays, including one-dimensional and multi-dimensional arrays. They learn how to manipulate and access array elements efficiently.

  4. Linked Lists: Students understand the linked list data structure, which consists of nodes connected through pointers. They learn about various types of linked lists like singly linked lists, doubly linked lists, and circular linked lists.

  5. Stacks and Queues: Students learn about stack and queue data structures, which are used for managing data in a Last-In-First-Out (LIFO) and First-In-First-Out (FIFO) manner, respectively. They understand the operations and applications of stacks and queues.

  6. Recursion: Students gain an understanding of recursion, a technique where a function calls itself. They learn how to write recursive algorithms and solve problems using recursion.

  7. Trees: Students explore tree data structures, including binary trees, binary search trees (BSTs), and balanced binary search trees like AVL trees and red-black trees. They learn about tree traversal algorithms, such as in-order, pre-order, and post-order traversal.

  8. Graphs: Students learn about graph data structures and their representations (e.g., adjacency matrix, adjacency list). They study graph traversal algorithms like breadth-first search (BFS) and depth-first search (DFS).

  9. Sorting Algorithms: Students gain knowledge about various sorting algorithms, including sequential sort, bubble sort, insertion sort, merge sort, and quicksort. They learn about the time and space complexity of each algorithm and their applications.

  10. Searching Algorithms: Students learn about searching algorithms like sequential search and binary search. They understand the principles behind these algorithms and their efficiency.

  11. Shortest Path Algorithms: Students explore algorithms used to find the shortest path in a graph, such as Dijkstra's algorithm and Bellman-Ford algorithm. They learn about their applications in route planning and network optimization.

By studying these topics and mastering the concepts and techniques involved, students will develop the skills to design efficient algorithms, solve practical problems using appropriate data structures, and analyze the performance of algorithms. This knowledge is crucial for software development in data science and related fields, as it provides a strong foundation for developing robust and efficient programs.


Who this course is for:

  • Software engineers and developers are target audience of this course who are interested in learning concepts of data structure in computer science.