C# Algorithms

C# Algorithms

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 2h 56m | 483 MB

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.

Table of Contents

1 Improve your C# applications with efficient algorithms
2 What is an algorithm
3 How to optimize an algorithm
4 Optimize an algorithm in C#
5 How to describe the time complexity of an algorithm

1. String Algorithms
6 Validate strings in C#
7 Normalize strings in C#
8 Parse and search strings in C#
9 Create algorithm-driven strings in C#
10 Challenge Reverse each word
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 Challenge Rotate an array
17 Solution Rotate an array

3. Linked List Algorithms
18 What is a linked list
19 Common linked list operations in C#
20 Linked list algorithms
21 Challenge Delete Kth node from the end of the list
22 Solution Delete Kth node from the end of the list

4. Queue and Stack Algorithms
23 What is a queue
24 Standard queue operations in C#
25 Queue algorithms Generate binary numbers
26 What is a stack
27 Basic stack operations in C#
28 Stack algorithms Theorizing an algorithm
29 Stack algorithms Implementing next greater element
30 Stack algorithms Matching parentheses

5. Algorithms for Hash-Based Structures
31 Hash-based structures in C#
32 Dictionary and HashSet operations in C#
33 Leverage the HashSet type in C# algorithms
34 Use the Dictionary type in C# algorithms
35 Challenge Detect a cyclic linked list
36 Solution Cyclic linked list

6. Tree Algorithms
37 What is a tree
38 Create a binary search tree in C#
39 What are tree traversals
40 Using recursion to implement tree traversals in C#
41 Challenge Develop a search algorithm
42 Solution Develop a search algorithm

43 Continue optimizing algorithms