Halo Section Bg

Data Structures Advance

Learn Trees and Graphs, the backbone of advanced data structures! Dive into theoretical concepts with in-depth video lectures and practice competitive programming assignments to solidify your understanding.

What you'll learn

  • Introduction to Trees and Graphs

  • Tree Properties: Height and Depth

  • Binary Trees and Tree Traversals

  • Pre-Order, Post-Order, and In-Order Traversals

  • Searching on Trees: BFS and DFS

  • Operations on Trees: Insertion and Deletion

  • Time Complexity of Tree Operations

  • Applications of Trees in Game Development

  • Graph Concepts: Edges, Vertices, and Paths

  • Directed, Undirected, and Weighted Graphs

  • BFS and DFS on Graphs

  • Pathfinding Algorithms in Graphs

  • Applications and Advantages of Graphs

Requirements

  • Basic understanding of programming concepts.

  • Hands-On practice and proficiency in Arrays, Link List, Stack, Queues

  • Familiarity with arrays, loops, and recursion.

  • Interest in learning advanced data structures for problem-solving.

  • A system with at least 4 GB RAM and access to coding tools.

About This Course

In this theoretical course, you’ll learn how to work with Trees and Graphs, two foundational data structures in computer science. Through in-depth video lectures, you’ll start with Trees, exploring their structure, properties, and operations such as insertion, deletion, and traversals (Pre-Order, Post-Order, and In-Order). You’ll also learn searching techniques like BFS and DFS, their time complexity, and their applications in game development.

Next, you’ll move on to **Graphs**, learning key concepts like **edges**, **vertices**, **paths**, and how they’re used in both directed and undirected graphs. You’ll explore **weighted graphs**, as well as BFS and DFS traversal methods, culminating in understanding **pathfinding algorithms** and their relevance to game mechanics. With a mix of theory and competitive programming assignments, this course equips you with the knowledge to tackle advanced data structure problems with confidence and efficiency.

Show More

Curriculum

7 materials
  • Recursion & Fibonacci Series
  • Preview

  • Fibonacci Using Iteration
  • Fibonacci Using Recursion
  • Factorial of N
  • Sort Stack Using Recursion
  • Print Pattern Without Any Loop or Extra Variable (Bonus)
  • Sum of Digits (Bonus)
11 materials
  • Memoization
  • Nth Fibonacci Number Using Recursion And Memoization
  • Sum of N Natural Numbers
  • Count ways to reach the n’th stair
  • Permutations (Bonus)
  • Unique Permutation (Bonus)
  • The Power Set (Bonus)
  • Combinations (Bonus)
  • n-queens (Bonus)
  • Recursion Problems for Practice
  • Recursion Quiz
8 materials
  • Insertion, Bubble & Selection Sort
  • Insertion Sort
  • Selection Sort
  • Bubble Sort
  • Print Array (Bonus)
  • Number of Swaps (Bonus)
  • Difference between max and min sum. (Bonus)
  • Sort Array In O(n*k) time (Bonus)
6 materials
  • Problems based on Sorting
  • Merge Two Sorted Arrays
  • Merge Two Sorted Linked List
  • Even Odd (Bonus)
  • Squares of Sorted Array (Bonus)
  • Majority Element (Bonus)
8 materials
  • Quick Sort
  • QuickSort For 1-D Array
  • Quick Sort To Sort Singly Linked List
  • Quick Sort To Sort Doubly Linked List
  • Quick Vs Merge Sort
  • Prom Night (Bonus)
  • Find The Next (Bonus)
  • Quick Sort (Bonus)
7 materials
  • Merge Sort
  • Merge Sort
  • Merge Sort To Sort Singly Linked List
  • Merge Sort To Sort Doubly Linked List(Bonus)
  • XOR (Bonus)
  • Count Inversion In Array (Bonus)
  • Merge Sort (Bonus)
4 materials
  • Single Element In a Sorted Array (Bonus)
  • Maximum of (A[i] - 1) * (A[j] - 1) (Bonus)
  • Sorting Problems for Practice
  • Sorting Quiz
8 materials
  • Searching (Array & Linked List)
  • Linear Search For 1-D Array
  • Linear Search For Linked List
  • Lucky Rectangles (Bonus)
  • Maximum Sum (Bonus)
  • Counting Frog Paths (Bonus)
  • Single Non-Empty Segment (Bonus)
  • Square Transaction (Bonus)
13 materials
  • Binary Search
  • Binary Search Iterative
  • Binary Search Recursive
  • Lower Bound (Bonus)
  • Upper Bound (Bonus)
  • Median of Two Sorted Array (Bonus)
  • Search a 2D Matrix (Bonus)
  • Search Insert Position (Bonus)
  • Longest Increasing Subsequence (Bonus)
  • Valid Perfect Square (Bonus)
  • Arranging Coins (Bonus)
  • Searching Problems for Practice
  • Searching Quiz
4 materials
  • Hash Maps
  • Hash Function
  • Hash Function(Collision)
  • Encoding and Decoding of String
8 materials
  • STL Maps
  • Map
  • Design Hash Map (Bonus)
  • Query Processing
  • Minimum delete operations (Bonus)
  • Sum of Unique Elements (Bonus)
  • Count Largest Group (Bonus)
  • Find Missing in Second Array (Bonus)
11 materials
  • Problems on Hash Maps
  • LRU cache
  • LFU cache
  • Two Pairs (Bonus)
  • Max Distance Between 2 Occurrences (Bonus)
  • Check if Array Contains Duplicates (Bonus)
  • Common Elements Present In All Rows (Bonus)
  • N/3 repeated number in an array(Bonus)
  • STL Sets[Bonus]
  • Hash Maps Problems for Practice
  • Hashmaps Quiz
7 materials
  • Heap Data Structure
  • Max Heap
  • Min Heap
  • Sort a nearly sorted (or K sorted) array
  • Median of Stream of Running Integers (Bonus)
  • Largest Triplet Product in a Stream (Bonus)
  • K-th Largest Sum Contiguous Subarray (Bonus)
6 materials
  • Representation of Graphs
  • Adjacency List
  • Adjacency Matrix
  • Degree of Vertex (Bonus)
  • Degree of Vertex II (Bonus)
  • In and Out Degree of Each Vertex (Bonus)
8 materials
  • Graph Traversals
  • BFS Algorithm
  • DFS Algorithm
  • Minimum number of operation required to convert number x into y (Bonus)
  • 01 Matrix (Bonus)
  • Max Area of Island (Bonus)
  • Minimum Number of Days to Eat N Oranges (Bonus)
  • Jump Game III (Bonus)
8 materials
  • Searching(BST, Tree, Graph)
  • Greedy Introduction
  • Job Scheduling
  • Optimal Merge Pattern
  • Huffman Coding
  • Activity Selection Problem (Bonus)
  • Minimum Number of Platforms Required for a Railway/Bus Station (Bonus)
  • Connect n ropes with minimum cost (Bonus)
3 materials
  • Dynamic Programming
  • Dynamic Programming Problems for Practice
  • Dynamic Programming Quiz

Instructor

Mayank Grover

Founder, Teacher @ Outscal | EA, Kixeye, DeNA, Junglee, D.E. Shaw

Why you should learn from me:

  • Over 10 years of experience building games for major companies like EA, Junglee, DeNA.
  • Founder of Outscal, a thriving 9000+ member community dedicated to game development and career growth.
  • Proven track record of mentoring developers, with a focus on practical, career-accelerating skills.

Mentors on the Platform

Besides our in-house game devs, we have mentors and experts on our platform who have worked at AAA studios, contributed to popular titles, and even built their indie studios, bringing real-world insights into every project.
logo-334
Muhammad Hamza

Game Developer

Ubisoft

London, England

    logo-335
    Donovan Rennaker

    Video Game Engineer

    Babaroga

    Indiana, United States

      logo-337
      Hardik Dubal

      Associate Technical Director

      EA (Electronic Arts)

      Hyderabad, India

        logo-333
        Hope Kseniia Gorulev

        Unity Developer

        Kodland

        Barcelona, Spain

          logo-332
          Ketan Shukla

          Senior Gameplay Engineer

          Zynga

          Bengaluru, India

            logo-336
            Animish Gadve

            Game Developer

            Thought Loops Studio

            Goa, India

              logo-336
              Mayank Grover

              Founder and CEO

              Outscal

              India

                logo-330
                Vismay Thaker

                Game Developer 2

                Moonfrog Labs

                Bengaluru, India

                  logo-329
                  Jisan Haider Joy

                  Senior Game Developer

                  Kolibri Games

                  Berlin, Germany

                    Upskilling at Outscal

                    Text Lessons: Learn at your own pace with text-based lessons with extra focus

                    Video Lessons: Learn complex topics and tools through video lessons & tutorials

                    Access to Source Code: Compare your code with industry-standard game projects created by experts

                    Assignment: Build your project through structured step-by-step assignments

                    Quizzes: Validate your understanding with regular concept-testing quizzes

                    24*7 Doubt Support: Tag respective help roles in our discord community and get solutions faster

                    START UPSKILLING

                    Alum Testimonials

                    Outscal alums are currently working in 300+ studios in different parts of the globe. From AAA studios to indie studios, you’ll find our DNA everywhere.
                    Sethunath

                    Sethunath

                    Gameplay Engineer 2

                    The project-oriented approach at Outscal helped me make my portfolio and gave me a boost in getting my resume shortlisted with the studios I applied with.

                    Zynga

                    Sethunath - Gameplay Engineer 2
                    Vinay Kashyap

                    Vinay Kashyap

                    Gameplay Programmer

                    Outscal delivers an unmatched journey into game programming: exceptional instructors, real-world projects, and a supportive community.

                    Ubisoft

                    Vinay Kashyap - Gameplay Programmer
                    Swapnil

                    Swapnil

                    Game Developer

                    Outscal boosted my confidence and taught me how to express my thoughts through game development. I learned everything from fundamentals to advanced of game development here.

                    Voodoo

                    Swapnil - Game Developer
                    Komal Kurundwade

                    Komal Kurundwade

                    Associate Software Engineer

                    ’I was a born genius, education ruined me.’ Outscal helped me rise again like a Phoenix contributing to my career transition from a sketch artist to a game programmer.

                    Light & Wonder

                    Komal Kurundwade - Associate Software Engineer
                    Dhiraj Rajendra Magdum

                    Dhiraj Rajendra Magdum

                    Junior Programmer

                    I did a lot of courses on Udemy and YouTube but Outscal gave me structure & discipline. In 7 months, I learnt skills that take years. They had 15 projects back then and were adding more. Overall a great experience.

                    Sumo Digital

                    Dhiraj Rajendra Magdum - Junior Programmer
                    Flemin Johnson

                    Flemin Johnson

                    Unity Developer

                    In a short span of 6 months, Outscal’s game development course helped me excel in my career and crack into one of the top gaming companies in India.

                    MPL

                    Flemin Johnson - Unity Developer
                    Chinmay Virmani

                    Chinmay Virmani

                    Associate Software Engineer

                    The comprehensive game programming course offered by Outscal exceeded my expectations, highly recommended for aspiring game developers.

                    GSN Games India Private Limited

                    Chinmay Virmani - Associate Software Engineer

                    Project Updates

                    We encourage our clan members to build in public. Posting your progress on platforms like LinkeIin & Twitter holds you accountable and helps you reach the right audience. Imagine recruiters reaching out to you after seeing your daily progress. This is what our clan members have seen happening and its your turn now.

                    Kishore M

                    Kishore M

                    Unity Game Developer

                    Hello World!


                    This is a First-Person Hunter type Game. Developed this project in 4 days for Outscal's MAT assignment.


                    GitHub project link: https://lnkd.in/g4Ci29Gw

                    Playable Game link: https://lnkd.in/gXUHhnKw


                    Design Patterns ☟

                    • Generic Singleton: Created Generic Singleton and made Service script as Singletons from Generic Singleton.
                    • MVC-S: Created Model View Controller for Enemy, Weapon, and Bullet.
                    • Scriptable Objects: Scriptable Object to store all different Enemy, Weapon, and Bullet data.
                    • State-Machine: State Machine for Enemy to do assigned tasks only for that State.

                    Game Functionalities ☟

                    • 3 types of Weapons: Single Pistol, Double Pistol, and Sniper.
                    • 4 types of Enemies for Hunting.
                    • Player can choose their Weapon and Enemy from Lobby.
                    • Player can move into the world freely, but movement speed will be reduced according to Weapon weight.
                    • Enemy will Patrol until Player enters the range.
                    • No health for Player; if the Enemy reaches the Player, they will be Dead.
                    • Different hit areas can reduce different damage for Enemy.
                    • Zoom functionality for Sniper.

                    Clanmates ➾ Tanya Gupta, Vimarsh Sharma, Kunal Khedkar, P D Vivekanand, Pramod Aradhya, Ashwin Rajpurohit, Shakil Hassan, Tarun Rankawat, Rushabh Gohel, Vatsal Maheshwari.


                    Outscal Mentors ➾ Mayank Grover, Malhar Devasthali, Arindam Bharati, Praful Joshi.


                    #outscal #projects #outscalassignments #gamedesign #unity3d #unitygames #gamedev

                    Felipe Assis

                    Felipe Assis

                    I am a developer specialized in C# and Unity, with considerable knowledge in c++, Unreal, Java, Javascript, Node.Js, Angular and React

                    I’ve started the State Machine Pattern module in the Game Development Advanced course at Outscal! ⚙️

                    The State Machine Pattern is a fundamental approach in game development for managing different system states, such as character animations, AI logic, or game phases.
                    It helps organize and control transitions clearly and efficiently, reducing code complexity.

                    I’m excited to dive deeper into this pattern and see how it can make my projects more robust and scalable!

                    Darshan Sahay

                    Darshan Sahay

                    Jr. Software Engineer

                    Hello everyone,

                    I want to share an update on the project "Home Calling" that I have been working on as a part of Outscal Gamejam.

                    I have created a 3D Hack and Slash game which features 2 playable characters.
                    To create the project, I have used State Behaviors for the enemies and Animation Events for characters.

                    I would like to thank my mentors Mayank Grover and Malhar Devasthali from Outscal for guiding me and helping me in creating the project.
                    I would also like to thank my clanmates who constantly supported me throughout the project.

                    You can download the project from the link below and share your feedback and suggestions, as the project is still in development.

                    Choose Your Plan

                    DO IT YOURSELF

                    $19.99

                    /month

                    Monthly Subscriptions, Cancel Anytime

                    Content For 20+ Game Projects

                    Certificate for each project

                    7-day Free Trial

                    MENTORSHIP PLAN

                    Custom

                    Lifetime Access To All Content

                    Code Reviews

                    1-on-1 Mentorship

                    Placement Support

                    Networking Sessions

                    Book A Call

                    Projects Included in Do-It-Yourself Plan

                    Create A Text Based RPG In C++ From Scratch
                    Free
                    ·
                    Beginner
                    ·
                    Course
                    Create A Text Based RPG In C++ From Scratch
                    25 Lessons
                    14 Assignments
                    13 Quizzes
                    C++
                    OOPS
                    Free
                    Learn C# While Creating A Turn Based Battle Game
                    Free
                    ·
                    Beginner
                    ·
                    Course
                    Learn C# While Creating A Turn Based Battle Game
                    24 Lessons
                    10 Assignments
                    11 Quizzes
                    C#
                    OOPS
                    Free
                    Build Your First Game In Unity - Mr. Blocks
                    Beginner
                    ·
                    Course
                    Build Your First Game In Unity - Mr. Blocks
                    56 Lessons
                    4 Assignments
                    13 Quizzes
                    Unity
                    C#
                    Learn Git And Build Confidence In Version Control!
                    Beginner
                    ·
                    Course
                    Learn OOP In C++ By Building A Text-Based Pokémon Game!
                    Intermediate
                    ·
                    Course
                    Learn OOP In C++ By Building A Text-Based Pokémon Game!
                    81 Lessons
                    45 Assignments
                    24 Quizzes
                    C++
                    OOPS
                    Coming Soon
                    Learn Fundamental Concepts Of Unity By Creating A 2D Platformer Game
                    Intermediate
                    ·
                    Course
                    Learn Fundamental Concepts Of Unity By Creating A 2D Platformer Game
                    39 Lessons
                    55 Assignments
                    11 Quizzes
                    Unity
                    Physics Simulations
                    Learn SFML And Create The Classic Pong Game
                    Beginner
                    ·
                    Course
                    Learn SFML And Create The Classic Pong Game
                    26 Lessons
                    18 Assignments
                    9 Quizzes
                    SFML
                    Master 1 Dimensional Arrays Through A Puzzle Game
                    Beginner
                    ·
                    Course
                    Master 1 Dimensional Arrays Through A Puzzle Game
                    48 Lessons
                    18 Assignments
                    21 Quizzes
                    C++
                    SFML
                    Array
                    Learn 2D Arrays By Building The Classic Game: Minesweeper!
                    Beginner
                    ·
                    Course
                    Learn Linked Lists Through Snake Game
                    Beginner
                    ·
                    Course
                    Learn Linked Lists Through Snake Game
                    98 Lessons
                    68 Assignments
                    22 Quizzes
                    C++
                    SFML
                    Linked Lists
                    Data Structure Fundamentals
                    Beginner
                    ·
                    Course
                    Data Structure Fundamentals
                    21 Lessons
                    32 Assignments
                    6 Quizzes
                    Data Structures
                    Stacks
                    Master Searching Algorithms by creating a Searching Visualizer in SFML
                    Intermediate
                    ·
                    Course
                    Master Sorting Algorithms By Building A Sorting Visualizer In SFML
                    Intermediate
                    ·
                    Course
                    Master Sorting Algorithms By Building A Sorting Visualizer In SFML
                    43 Lessons
                    14 Assignments
                    6 Quizzes
                    SFML
                    Sorting
                    Learn Architectural Design Patterns While Building Your Own Tower Defense Game!
                    Beginner
                    to
                    Advanced
                    ·
                    Course
                    Learn Architectural Design Patterns While Building Your Own Tower Defense Game!
                    52 Lessons
                    18 Assignments
                    19 Quizzes
                    Unity
                    Design Patterns
                    Implement Player Skins Using MVC (Model-View-Controller)
                    Advanced
                    ·
                    Course
                    Implement Player Skins Using MVC (Model-View-Controller)
                    25 Lessons
                    11 Assignments
                    4 Quizzes
                    Unity3D
                    Design Patterns
                    Learn Observer Pattern And Create A Horror Game From Scratch
                    Advanced
                    ·
                    Course
                    Learn Observer Pattern And Create A Horror Game From Scratch
                    55 Lessons
                    22 Assignments
                    24 Quizzes
                    Unity3D
                    Design Patterns
                    Learn To Implement Object Pools In A Fast-Paced 2D Space Shooter Game
                    Advanced
                    ·
                    Course
                    Learn To Implement Object Pools In A Fast-Paced 2D Space Shooter Game
                    39 Lessons
                    15 Assignments
                    18 Quizzes
                    Unity
                    Design Patterns
                    Create Mechanics Like Undo And Replay In A Turn Based Combat Game Using Command Pattern
                    Advanced
                    ·
                    Course
                    Learn To Implement Complex Enemy AI Using State Machine In This Top-Down Stealth Game
                    Advanced
                    ·
                    Course
                    Coming Soon

                    FAQ?

                    What is included in the DIY Plan?

                    You get full access to our entire library of 20+ game projects covering Unity, C++, Data Structures and Design Patterns. Plus, any future projects added will be included at no extra cost.

                    I am an existing student enrolled in an Outscal program, do I need a subscription for DIY?

                    If you are already enrolled at Outscal in any of these courses: Full Stack Game Developer, Game Development Advance, Game Dev Fast Track, then you already have full access to out content library, no extra subscription is needed.

                    What happens to my progress if I cancel my subscription of DIY?

                    Your progress stays saved. If you renew later, you'll pick up right where you left off.

                    What content is included in the projects?

                    Each project focuses on a specific skillset like Design Patterns, Unity, C++, or data structures and guides you through building a real game while you learn these technical concepts. Hence the name "Projects.”

                    What is the difference between DIY and Mentorship plan?

                    The DIY plan gives you full access to our entire content library. The Mentorship plan includes everything in DIY plus one-on-one guidance from industry veterans, code reviews, placement prep, and job support.

                    Does the content include live classes?

                    No, all content is text-based or pre-recorded , allowing you to learn at your own pace. If you want one-on-one guidance, you can opt for the Mentorship plan.

                    Does the content include video content?

                    The core material is text-based. It is engaging text-based format enriched with images, GIFs and videos where helpful. Yet text remains the primary medium.

                    When will the payment for the subscription be deducted?

                    Your subscription payment is deducted at the beginning of each 30-day cycle.

                    Is placement support included in the program?

                    Placement support isn’t included in the DIY plan (subscription). It’s part of the Mentorship plan, which also offers one-on-one mentorship with industry veterans, code reviews, and placement preparation.

                    How can I get my doubts solved while I do the courses?

                    We have a 24/7 Discord community of thousands of game developers who help each other daily. For serious issues, you can directly contact our internal ops team.

                    Will I get access to all future content that gets added to the library?

                    Yes, as an active subscriber, you’ll have access to any new projects we add, at no extra cost.

                    How can I cancel my subscription?

                    To easily cancel your subscription, simply send an email to admissions@outscal.com or reach out to your payment provider (PayPal or RazorPay). We're here to help you!

                    What is the best order to complete the 20 projects?

                    We recommend following the sequence displayed on the “Courses” page, which progresses from beginner to advanced levels (top to bottom). Each project includes a difficulty rating, so if you are already confident with the basics, you can use the intermediate or advanced difficulty filters to advance more quickly.

                    Which payment methods are supported?

                    For users in India, payments can be made using RazorPay, while international users can utilize PayPal.

                    How do I get access to the content?

                    You will receive a payment confirmation email. Access to all content will be granted within 24 hours after you receive this confirmation.

                    Do I need to create an account on Outscal platform?

                    Yes, please make sure that the Email ID you have used with your payment provider (PayPal/RazorPay) is the same Email ID you have registered with on Outscal’s platform in order to unlock access to content.