technifyed

Great Learning via Great Learning Academy

Data Structures & Algorithms in Java

4.53,198 ratings at Great Learning Academy

Overview

This free Java DSA course introduces you to the foundational concepts of data structures and algorithms, which are essential for solving real-world programming problems. You'll start by understanding what data structures are and why they are important for efficient programming. The course covers key topics such as time complexity, recursion, and sorting algorithms, with a focus on practical applications. You'll learn to analyze algorithm performance, design recursive functions, and implement sorting techniques such as bubble sort, quicksort, and mergesort.You'll gain hands-on experience with recursive problems, understand the internal workings of recursion, and master sorting algorithms to handle large datasets. This practical knowledge will enable you to tackle real-world coding challenges, making you a more efficient and effective programmer. By the end of this course, you will be able to apply data structures and algorithms to optimize code, solve complex problems, and improve program efficiency.

What you'll learn

  • Data Structures Basics
  • Importance of Data Structures
  • Algorithms Introduction
  • Time Complexity
  • Recursion Fundamentals
  • Recursive Functions
  • Recursive Trees
  • Tower of Hanoi
  • Sorting Algorithms
  • Bubble Sort
  • Quick Sort
  • Merge Sort

Syllabus 21

  1. What is Data Structure?

    A data structure is a method of arranging data to be used effectively. This module focuses on introducing you to Data Structures.

  2. Importance of Data Structure

    Data Structures are the backbone of any programming language. This module explains the significance of Data Structures.

  3. Introduction to Algorithm

    This module introduces you to the algorithm and its role in coding.

  4. Time Complexity

    Time Complexity represents the number of times a statement gets executed. This module explains time and space complexity, and you will learn to find algorithms' time and space complexity.

  5. Additional Example of Time Complexity

    This module gives you a better understanding of time complexity with the help of the code example.

  6. Importance of Recursion

    This module explains the importance of recursion in programming languages.

  7. What is Recursion?

    Recursion is a technique in which a function calls itself one or more times in its code. This module helps you understand recursion in detail.

  8. Example of Recursion

    Examples are the best way to understand any concept. Thus, this module consists of examples of recursion that will help you understand it better.

  9. Steps to Create Recursive Function

    To learn and execute recursion, you must be thorough with the steps involved. This module addresses the steps involved in creating recursive functions.

  10. Recursive Function Examples

    This module has examples of recursion that explains termination condition, business logic, and the recursive call steps to help you understand recursion better.

  11. Recursion in Tree

    This module explains what recursion is and how it works in the context of a tree.

  12. Internal Mechanism of Recursion

    It is essential to understand the internal mechanism of recursion as it is one of the significant concepts of programming languages. This module focuses on the internal mechanism of recursion and explains it with the help of a stack example.

  13. Assignment Solutions

    This module contains solutions for the various recursion problems that address their time complexity.

  14. Tower of Hanoi

    Tower of Hanoi is a mathematical puzzle or a game that will help you understand the stack and recursion concept. This module aims at familiarizing you with the recursion through the Tower of Hanoi concept.

  15. Tower of Hanoi Example

    This module helps you understand the Tower of Hanoi concept better by explaining the concept with the help of an example.

  16. Need for Sorting Algorithm

    Sorting algorithms are considered a significant part of programming. Before getting started with sorting algorithms, it is crucial to understand their need and this module focuses on addressing their importance.

  17. Types of Sorting Algorithm

    This module familiarizes you with the various types of sorting algorithms present.

  18. Bubble Sort

    Bubble sort is a simple sorting algorithm that repeatedly steps through the list to be sorted. This module explains bubble sort and its algorithm in detail.

  19. Quick Sort

    Quick sort is a sorting algorithm that uses a partitioning step to divide an array into subarrays, followed by a sorting step to sort the subarrays. This module explains the quick sort, time complexity, and algorithm with an example and demonstration.

  20. Merge Sort

    A merge sort is a sorting algorithm that sorts items by dividing them into two groups, sorting each group, and then merging the groups back together. This module explains the merge sort, time complexity, and algorithm with an example and demonstration.

  21. Insertion Sort

    Insertion sort is a sorting algorithm in which each element is inserted into its correct position in a sorted array. This module explains insertion sort, time complexity, and algorithm with an example and demonstration.

Advantages and disadvantages

Advantages

  • Free, short, with a free certificate.
  • Made in India, with examples Indian students will recognise.
  • 183,600 learners have taken it, so help and notes are easy to find.
  • Free certificate when you finish.
  • Completely free.
  • Self-paced: start any time.
  • A clear syllabus (21 parts) you can see before you start.

Disadvantages

  • Introductory; the certificate carries little weight with employers.
  • Expect follow-up calls and emails about paid programs.

Some points apply to every course of this kind; see how we rank.

Free, with a free certificate

  • Free: Sign up with your email or phone to watch.
  • Certificate: Free when you finish the videos and quiz.

Great Learning is in Tier 4: commercial training companies and platform-made courses of our institution ranking (58/100).

Similar courses

Compare these

Massachusetts Institute of Technology · YouTube

MIT 6.006 Introduction to Algorithms, Fall 2011

This course provides an introduction to mathematical modeling of computational problems. It covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems. The course emphasizes the relationship between algorithms and programming, and introduces basic performa…

Free video47 videos, 42 hours

Harvard University · YouTube

CS50's Introduction to Programming with Python (CS50P) 2022

This is CS50P, CS50's Introduction to Programming with Python. Register for free at https://cs50.edx.org/python. Slides and source code at https://cs50.harvard.edu/python. Playlist at https://www.youtube.com/playlist?list=PLhQjrBD2T3817j24-GogXmWqO5Q5vYy0V. An introduction to programming using a la…

Free video11 videos, 16 hours

Massachusetts Institute of Technology · YouTube

MIT 6.100L Introduction to CS and Programming using Python, Fall 2022

Instructor: Ana Bell View the complete course: https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/ *Note: Lectures 6, 10 have been updated! This subject is aimed at students with little to no programming experience. It aims to provide students with an under…

Free video26 videos, 28 hours

Massachusetts Institute of Technology · YouTube

MIT 6.006 Introduction to Algorithms, Spring 2020

Instructor: Prof. Erik Demaine, Dr. Jason Ku, Prof. Justin Solomon View the complete course: https://ocw.mit.edu/6-006S20 YouTube Playlist: https://www.youtube.com/playlist?list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY This course is an introduction to mathematical modeling of computational problems, as…

Free video32 videos, 35 hours

Massachusetts Institute of Technology · YouTube

MIT 6.046J / 18.410J Introduction to Algorithms (SMA 5503),

This course teaches techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics covered include: sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; amortized analysis; graph algorithms; shortest paths; network flow;…

Free video23 videos, 30 hours

Harvard University · YouTube

CS50's Web Programming with Python and JavaScript (CS50W) 2020

This is CS50W, CS50's Web Programming with Python and JavaScript. Register for free at https://cs50.edx.org/web. Slides and source code at https://cs50.harvard.edu/web. This course picks up where Harvard University’s CS50 leaves off, diving more deeply into the design and implementation of web apps…

Free video10 videos, 14 hours