introduction

This series provides an introduction to commonly used data structures and algorithms written in a new development language called Swift. While details of many algorithms exists on Wikipedia, these implementations are often written as pseudocode, or are expressed in C or C++. With Swift available as open source, its general syntax should be familiar enough for most programmers to understand.


AUDIENCE

As a reader you should already be familiar with the basics of programming. Beyond common algorithms, this guide also provides an alternative source for learning the basics of Swift. This includes implementations of many Swift-specific features such as optionals and generics. Beyond Swift, audiences should be familiar with factory design patterns along with sets, arrays and dictionaries. 


WHY ALGORITHMS?

When creating modern apps, much of the theory inherent to algorithms is often overlooked. For solutions that consume relatively small amounts of data, decisions about specific techniques or design patterns may not be important as just getting things to work. However as your audience grows so will your data. Much of what makes big tech companies successful is their ability to interpret vast amounts of data. Making sense of data allow users to connect, share, complete transactions and make decisions.


In the startup community, investors often fund companies that use data to create unique insights - something that can't be duplicated by just connecting an app to a simple database. These implementations often boil down to creating unique (often patentable) algorithms like Google PageRank or The Facebook Graph. Other categories include social networking (e.g, LinkedIn), predictive analysis (Uber.com) or machine learning (e.g Amazon.com).