Data structures and Algorithms

(The Swift Series)

About

Data structures and algorithms are all about efficiency.  As a programmer when given a certain amount of data to work with one of the first questions that should arise is:-

What is the best way to store this data to achieve the end goal?

You regularly use a range of collection types, such as sets, arrays, and dictionaries. These collections are data structures and each has their own performance qualities.

To demonstrate, I would like you to consider the differences between an array and a set. Both have been designed to hold a collection of objects. However, trying to find a certain object in an array is more expensive and time consuming that if you were to find an element in a set. But saying that you can sort an array. but you cant sort a set.

This part of the site will teach you all about data structures and algorithms. The cool thing about what you will learn can also be applied to other programming languages.

 

So why bother learning about data structures and algorithms?

Well quite simply if you want to become a professional developer then you’re expected to know about data structures and algorithms. Most companies will test you on this during the interview process. Obtaining a firm grasp on this topic will put you in an excellent position to land that dream job!

If you already work as a computer programmer, possessing this knowledge will play a big role in creating scalable and performance driven software.

So let’s dig into the algorithm feast!

Starters

Main

  • Linked list
  • Stack Data Structure
  • Queues
  • Trees
  • Binary Trees
  • Binary Search Trees
  • AVL Trees
  • Tries
  • Binary Search
  • The Heap Data Structure
  • Priority Queue
  • O(n2) Sorting Algorithms
  • Radix Sort
  • Merge Sort
  • Heap Sort
  • Quick Sort

Desert

  • Graphs
  • Breadth First Search
  • Depth First Search
  • Dijkstra’s Algorithm
  • Prim’s Algorithm