Swift Algorithm Club: April 2017 Digest

Check out the latest news from the Swift Algorithm Club in April, including news from the RWDevCon workshop, and a brand new Swift algorithm! By Kelvin Lau.

Save for later

The Swift Algorithm Club is a popular open source project to implement popular algorithms and data structures in Swift, with over 12,000 stars on GitHub.

We periodically give status updates with how things are going with the project. This month’s update contains 3 big pieces of news:

  • Swift Algorithm Club Workshop at RWDevCon 2017
  • Contributor Note: Github Links Change
  • April Repository Update

Let’s dig in!

Swift Algorithm Club Workshop at RWDevCon 2017

The Swift Algorithm Club ran a workshop at RWDevCon 2017 this year!

The workshop was led by Vincent Ngo and Kelvin Lau, and it followed the following pattern:

  • We gave attendees a Playground with a Swift data structure (such as a linked list), and explained how it worked.
  • Attendees then tried to solve a challenge given the data structure, such as “write a method to find the middle element of the linked list.”
  • Finally, we presented the official solution, with a detailed explanation.

The response to the workshop was phenomenal, with an average 4.95/5 rating for the workshop.

We had a great time learning and speaking, which culminated with some fab loot and some bad dancing:

What in the world is he doing?

Is he having a stroke?

Since this workshop was such a success, we hope to bring these as interactive challenges on raywenderlich.com soon. Stay tuned!

Contributor Note: Github Links Change

A quick note for Swift Algorithm Club contributors.

This month, GitHub changed the way they handled white-spaces for path references:

[Merge Sort](Merge Sort/)

Unfortunately, GitHub no longer does percent encoding for us. This led to countless broken links in our repository. For future reference, you’d want to add the percent encoding yourself:

[Merge Sort](Merge%20Sort/)

April Repository Updates

As always, the repository has seen many updates and polish on existing material. This month, we also gave the repository a new contributions guideline, and added some templates for creating new issues and PRs.

New: Strassen’s Matrix Multiplication Algorithm

Richard Ash has contributed a new algorithm for the repo! This contribution focuses on improving a naive O(n^3) matrix multiplication algorithm. Here’s an excerpt from the repo:

The basic idea behind Strassen’s algorithm is to split A & B into 8 submatricies and then recursively compute the submatricies of C. This strategy is called Divide and Conquer.

Volker Strassen first published his algorithm in 1969. It was the first algorithm to prove that the basic O(n^3) runtime was not optimal.

Where To Go From Here?

The Swift Algorithm Club is always looking for new members. Whether you’re here to learn or here to contribute, we’re happy to have you around.

To learn more about the Swift Algorithm Club, check out our introductory article. We hope to see you at the club! :]