C# Algorithms
2h 47mAdvanced2023-12-08
Authors

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
0. Introduction
- 01 - Improve your C# applications with efficient algorithms
- 02 - Introducing CoderPad challenges
- 03 - What is an algorithm
- 04 - How to optimize an algorithm
- 05 - Optimize an algorithm in C#
- 06 - How to describe the time complexity of an algorithm
1. String Algorithms
- 07 - Validate strings in C#
- 08 - Normalize strings in C#
- 09 - Parse and search strings in C#
- 10 - Create algorithm-driven strings in C#
- 11 - Solution - reverse each word
2. Array Algorithms
- 12 - Linear search arrays in C#
- 13 - Binary search arrays in C#
- 14 - Aggregate and filter arrays in C#
- 15 - Reverse an array in C#
- 16 - Solution - rotate an array
3. Linked List Algorithms
- 17 - What is a linked list
- 18 - Common linked list operations in C#
- 19 - Linked list algorithms
- 20 - Solution - Sum contents of a linked list
4. Queue and Stack Algorithms
- 21 - What is a queue
- 22 - Standard queue operations in C#
- 23 - Queue algorithms - Generate binary numbers
- 24 - What is a stack
- 25 - Basic stack operations in C#
- 26 - Stack algorithms - Theorizing an algorithm
- 27 - Stack algorithms - Implementing next greater element
- 28 - Stack algorithms - Matching parentheses
- 29 - Solution - evaluate reverse polish notation
5. Algorithms for Hash-Based Structures
- 30 - Hash-based structures in C#
- 31 - Dictionary and HashSet operations in C#
- 32 - Leverage the HashSet type in C# algorithms
- 33 - Use the Dictionary type in C# algorithms
- 34 - Solution - detect a cyclic linkedlist
6. Tree Algorithms
- 35 - What is a tree
- 36 - Create a binary search tree in C#
- 37 - What are tree traversals
- 38 - Using recursion to implement tree traversals in C#
- 39 - Solution - find height of binary tree
Conclusion
- 40 - Continue optimizing algorithms