# Algorithms and Data Structures in Swift 4 - Succeed in your Software Developer Job Interview!

#### Karoly Nyisztor, Senior Software Engineer, Instructor

Play Speed
• 0.5x
• 1x (Normal)
• 1.25x
• 1.5x
• 2x
49 Lessons (2h 4m)
• 1. Overview - Introduction to Algorithms and Data Structures in Swift

3:20
• 2. Welcome

2:45
• 3. Is This Course For You?

1:06
• 4. Why Should You Learn Algorithms?

1:20
• 5. Prerequisites

1:14
• 6. Big O Notation - Overview

2:35
• 7. Constant Time - O(1)

5:40
• 8. Linear Time - O(n)

4:17
• 9. Quadratic Time - O(n2)

3:53
• 10. Hints for Polynomial O(n^k) Complexity

1:32
• 11. Logarithmic Time - O(log n)

1:56
• 12. Big O Summary

1:30
• 13. Recursion - Overview

0:40
• 14. What is Recursion?

2:43
• 15. How Does Recursion Work?

4:45
• 16. Recursion Pitfalls

2:37
• 17. How to Avoid Infinite Recursion?

1:51
• 18. The Power of Algorithms

1:29
• 19. Calculate Sum(N)

3:04
• 20. Pair Matching Challenge

4:17
• 21. Find the Equilibrium Index

3:51
• 22. The Power of Algorithms - Summary

1:49
• 23. Working with Generics - Introduction

0:55
• 24. Why Generics?

1:24
• 25. Generic Types

1:56
• 26. Generic Functions

3:47
• 27. Swift Collection Types - Overview

0:55
• 28. The Array

2:08
• 29. Accessing the Array

1:09
• 30. Modifying the Array

2:43
• 31. The Set

2:27
• 32. Accessing and Modifying the Set

1:48
• 33. Set Operations

1:10
• 34. The Hashable Protocol

4:40
• 35. The Dictionary

2:33
• 36. Accessing and Modifying the Dictionary

1:35
• 37. Basic Sorting

2:17
• 38. Selection Sort

5:33
• 39. Selection Sort - Summary

0:49
• 40. Insertion Sort

7:58
• 41. Insertion Sort - Summary

1:03
• 42. Bubble Sort

5:05
• 43. Bubble Sort - Summary

1:01
• 44. Advanced Sorting

0:53
• 45. Merge Sort

3:46
• 46. Merge Sort - Summary

0:55
• 47. Quicksort

3:28
• 48. Quicksort - Summary

0:57
• 49. Final Thoughts & Useful Resources

2:32

You are here because you are interested in Swift and algorithms, right?
Maybe you want to learn more about the Swift programming language. You probably want to write more efficient Swift code.

And this is the perfect course for you to learn about algorithms and Swift.
I created this course to get you started with algorithms. Introduction to Algorithms in Swift will help you understand the importance of algorithms. Soon, you'll be able to solve problems more efficiently.

What makes me qualified to teach you?
My name is Károly, and I’ve been developing software since 1995. I'm the creator of many iOS apps, most of which have been featured by Apple. I published three books on programming. You can find my online courses on Udemy and Pluralsight.

I’m here for You
I'm a full-time online instructor. If you have any questions about the course content or anything related to this topic, you can always post a question in the course or send me a direct message. I always respond promptly.

Contents and Overview
Computer algorithms have been developed and refined over the last couple of decades. The study of algorithms is fundamental to any programmer who plans to develop software systems that are scalable and performant.

Once we got past the basic “Hello World” beginner applications, we begin to realize that complex apps require a different approach. Our software that used to work nicely during our tests becomes incredibly slow and crashes frequently in real-world situations. The reason is that we haven’t prepared our app for real-life usage: while it ran without issues with small datasets during our tests, it fails when reality kicks in. Algorithms are indispensable to building software that is capable of managing large amounts of data or to solve complex problems efficiently.

I explain each concept using easy-to-understand examples. You'll not only learn how to implement more efficient code, but you'll also learn Swift, Apple's popular programming language. Beyond iOS and Mac development, Swift is going to become THE programming language for Web-development and systems programming.

Go ahead and enroll in this course. See you in the first lesson!

Cheers,
Károly