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

**Introduction**

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

**Conclusion**

43 Continue optimizing algorithms

Resolve the captcha to access the links!