Tutorialspoint

Celebrating 11 Years of Learning Excellence! Use: TP11

C# Intermediate - Part III (Abstract Data Structures and Sorting Algorithms)

person icon Ivan Iliev

4.6

C# Intermediate - Part III (Abstract Data Structures and Sorting Algorithms)

Queue, Stack, Linked List, Trees, Graphs, Quick and Merge Sort, Time Complexity

updated on icon Updated on Jun, 2025

language icon Language - English

person icon Ivan Iliev

category icon Development ,Programming Languages,C#

Lectures -46

Resources -17

Duration -11.5 hours

Lifetime Access

4.6

price-loader

Lifetime Access

30-days Money-Back Guarantee

Training 5 or more people ?

Get your team access to 10000+ top Tutorials Point courses anytime, anywhere.

Course Description

In this course the students will develop their logical and algorithmic thinking creating the static and dynamic version of the abstract data structures Linked List, Doubly Linked List, Stack and Queue. Understanding the intricacies of the structures, their advantages and disadvantages, how they work, how much memory they need, how to compute their time complexity will boost students’ confidence and clarity. Software developers will be able to pick the right structure for the specific scenario they need in their working environment.

Teaching students complicated topics as graphs and trees are a challenge for every teacher. I am convinced that the subjects are covered in such a way that the students will be able to grasp the fundamental ideas and depending on their skill implement them with code. The advanced concepts are hard because they require knowledge about the recursion which I decided to include as well.

The peculiar data structures Hashset and Dictionary will be covered in the course as well increasing the range of options for the students.

The basic sorting algorithms – Selection, Bubble, Insertion – are explained with examples and code too. The advanced sorting algorithms (Merge and Quick) are presented in a way that will be helpful for the students’ mind to come up with the algorithm and write it down.

Before we start making multi-tier applications a strong foundation of knowledge, skills and experience with solving simple tasks are necessary. This course is the fourth stepping stone towards achieving that goal.

I hope that my students will be benevolent toward each other in the Q&A section of the courses and be successful in their future career as a software developer (and engineer).

Goals

  • The intricacies, advantages and disadvantages of the static and dynamic implementation of Linked List, Doubly Linked List, Stack and Queue.
  • When and how to use Hashset and Dictionary.
  • Definition, usage and implementation of Binary Tree and Graph.
  • How to sort data with various sorting algorithms – Selection, Bubble, Insertion, Quick and Merge.
  • In-depth analysis and explanation of the Doubly Linked List, Binary Tree and Graph structures, Quick and Merge sort behavior too.
  • Recursion as an alternative solution and approach to solving iterative problems.
  • Compare your way of thinking and solving exercises with mine solutions to the problems.
  • How to compute the time complexity of sorting algorithms and abstract data structures’ operations.

Prerequisites

  • Anyone who has an interest in software development and particularly abstract data structures and sorting algorithms.
  • Students should have knowledge about the basics of Object-oriented programming or finished my course "C# Intermediate - Part I (Mastering OOP)".
  • Finishing my course "C# Intermediate - Part II (Reflection, Events, LINQ)" will be of great help.
C# Intermediate - Part III (Abstract Data Structures and Sorting Algorithms)

Curriculum

Check out the detailed breakdown of what’s inside the course

Abstract Data Structures

10 Lectures
  • play icon Excerpts 05:59 05:59
  • play icon Introduction 05:54 05:54
  • play icon Static Implementation of Dynamic List 51:23 51:23
  • play icon Dynamic Implementation of Dynamic List 48:33 48:33
  • play icon Queue 08:30 08:30
  • play icon Static Implementation of Queue 20:05 20:05
  • play icon Dynamic Implementation of Queue 18:31 18:31
  • play icon Stack 04:13 04:13
  • play icon Static Implementation of Stack 18:04 18:04
  • play icon Dynamic Implementation of Stack 22:42 22:42

Abstract Data Structures - Advanced

18 Lectures
Tutorialspoint

Sorting Algorithms

7 Lectures
Tutorialspoint

Binary Search and Big O Notation

6 Lectures
Tutorialspoint

Materials/Solutions

5 Lectures
Tutorialspoint

Instructor Details

Ivan Iliev

Ivan Iliev

Greetings, stranger! :) I am not surprised to see your kind here. If you want to break free from the Singleton pattern and the exceptional thought about learning from more than one teacher pops up in your mind stack, then you better try that idea now, before the memory reallocation takes place. Some say that in order to become a great software developer you shall learn from the start. The mighty and fearsome kung-fu legends of the past talked and taught about the importance of a strong foundation. In their case that was the core and the legs, in our case, that’s the fundamental theory that will allow us to build complex and meaningful applications.

But don’t be fooled by the seemingly simple task – the casting of that theory into practice will have its price – the asynchronous 0s and 1s that will create the never-ending illusion of everything. The battles ahead will contain different data types, complicated concepts, composite layers of business logic, a variety of databases, and on top of that a selection of presentation layers for the different tastes of the end users. If you are intrepid and passionate enough, merciful and generous towards my lack of ‘x’ years in renowned universities and companies – you have the basic requirements and I am thankful. I will do my best so you can become what I am not – a better version in that repository! :)

P.S.: If you enjoy playing computer games like Witcher 3, WarCraft 3 TFT, Heroes 3 Might and Magic, AOE 2/3, and Diablo 2 – congratulations, you met the recommended requirements for my courses. :)

P.S.S: I have been teaching professional classes in Software Development for 5 years and have a Bachelor's degree in Business Information Technology.

Course Certificate

Use your certificate to make a career change or to advance in your current career.

sample Tutorialspoint certificate

Our students work
with the Best

Related Video Courses

View More

Annual Membership

Become a valued member of Tutorials Point and enjoy unlimited access to our vast library of top-rated Video Courses

Subscribe now
Annual Membership

Online Certifications

Master prominent technologies at full length and become a valued certified professional.

Explore Now
Online Certifications

Talk to us

1800-202-0515