C# Algorithms

C# Algorithms

2h 47mAdvanced2023-12-08

Authors

Kathryn Hodge

Kathryn Hodge

Software Developer

Course details

Algorithms are one of the fundamental pillars in every software application, and once you understand them, you can create more efficient and maintainable programs. In this course, instructor Kathryn Hodge shows you how to create better C# programs by using efficient algorithms. Kathryn discusses what makes an algorithm effective, as well as how to make informed assumptions about your data to create better algorithms. She focuses on how to create efficient algorithms to work with different types of data, including strings, arrays, linked lists, queues, stacks, hash-based structures, and trees. Many algorithms are built into the C# language, and Kathryn covers how to use these to create your own custom algorithms, so you can work with your data exactly the way you want. She also dives into how to leverage different data structures to create better algorithms in analyzing or manipulating their data.

Skills covered

C#AdvancedProgramming LanguagesMicrosoftSoftware Development

Concepts

Introduction

  • Improve your C# applications with efficient algorithms
  • Introducing CoderPad challenges
  • What is an algorithm
  • How to optimize an algorithm
  • Optimize an algorithm in C#
  • How to describe the time complexity of an algorithm

String Algorithms

  • Validate strings in C#
  • Normalize strings in C#
  • Parse and search strings in C#
  • Create algorithm-driven strings in C#
  • Solution - reverse each word

Array Algorithms

  • Linear search arrays in C#
  • Binary search arrays in C#
  • Aggregate and filter arrays in C#
  • Reverse an array in C#
  • Solution - rotate an array

Linked List Algorithms

  • What is a linked list
  • Common linked list operations in C#
  • Linked list algorithms
  • Solution - Sum contents of a linked list

Queue and Stack Algorithms

  • What is a queue
  • Standard queue operations in C#
  • Queue algorithms - Generate binary numbers
  • What is a stack
  • Basic stack operations in C#
  • Stack algorithms - Theorizing an algorithm
  • Stack algorithms - Implementing next greater element
  • Stack algorithms - Matching parentheses
  • Solution - evaluate reverse polish notation

Algorithms for Hash-Based Structures

  • Hash-based structures in C#
  • Dictionary and HashSet operations in C#
  • Leverage the HashSet type in C# algorithms
  • Use the Dictionary type in C# algorithms
  • Solution - detect a cyclic linkedlist

Tree Algorithms

  • What is a tree
  • Create a binary search tree in C#
  • What are tree traversals
  • Using recursion to implement tree traversals in C#
  • Solution - find height of binary tree

Conclusion

  • Continue optimizing algorithms
80,000 Toman