Algorithms and Data Structures in Swift 5 - 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 3m)
    • 1. Algorithms and Data Structures in Swift 5

      3:13
    • 2. Section 1: Overview

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

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

      1:20
    • 5. Prerequisites

      0:53
    • 6. Section 2: Big O Notation

      2:31
    • 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. Section 3: Recursion

      0:40
    • 14. What is Recursion?

      2:38
    • 15. How Does Recursion Work?

      4:45
    • 16. Recursion Pitfalls

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

      1:51
    • 18. Section 4: The Power of Algorithms

      1:28
    • 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. Section 5: Generics

      0:55
    • 24. Why Generics?

      1:24
    • 25. Generic Types

      1:56
    • 26. Generic Functions

      3:47
    • 27. Section 6: Swift Collection Types

      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. Section 7: Basic Sorting

      2:12
    • 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. Section 8: Advanced Sorting

      0:51
    • 45. Merge Sort

      3:46
    • 46. Merge Sort - Summary

      0:55
    • 47. Quicksort

      3:28
    • 48. Quicksort - Summary

      0:57
    • 49. Section 9: Final Thoughts & Useful Resources

      2:30

About This Class

Take a closer look at algorithms and data structures and learn how to work with them to more efficiently approach software development with Swift. "Introduction to Algorithms and Data Structures in Swift 5" is a straightforward guide to solving coding problems more efficiently. 

In this comprehensive course, author Károly Nyisztor helps to familiarize yourself with algorithmic thinking and code optimization techniques. He explains each concept using easy-to-understand examples. He focuses on the practical application, using hands-on Swift code examples you can use for reference and practice.

Although the demos are implemented in Swift, the lessons can be applied to any programming language.

Throughout the course, Károly walks you through several demo applications to demonstrate the power of algorithms and the importance of picking the right solution.

Topics include:

  • Algorithmic thinking

  • The Big O notation

  • Constant, linear, polynomial and logarithmic time complexity

  • Understanding recursion and avoiding pitfalls

  • Case studies for finding faster solutions

  • Generics

  • Built-in Swift collection types

  • When to use a Set, an Array or a Dictionary?

  • Implementing selection sort, insertion sort, and bubble sort

  • Advanced sorting: quicksort and merge sort

The study of algorithms and data structures is fundamental to any programmer who plans to develop software systems that are scalable and performant. 
"Introduction to Algorithms and Data Structures in Swift 5" is the perfect course for you if you're interested in bringing your Swift coding skills to the next level.

-------------

To implement the exercises in this book, you’ll need a Mac with macOS 10.14.3 (Mojave) or later. You’ll also need Xcode 10.2.1 or newer. You can download Xcode for free from the Mac App Store. 

We’re going to use Swift 5 to implement the source code in this course.

All the samples are compatible with the latest Swift version. I am going to update the source code as changes in the language make it necessary.

The projects are available on Github, and you can download them from the following repository: https://github.com/nyisztor/swift-algorithms.