...

Full Bio

Google Go Programming Language Used In Tech's Best Paid Jobs

16 days ago

What Skills Should Have Data Scientist To Get Hired In 2019

19 days ago

Self-driving startup Drive.ai Acquired By Apple

22 days ago

Artificial Intelligence Has Sparked Marketing and Sales Transformation In 2019

22 days ago

Startup Intersect Labs Launches Platform For Data Analysis

22 days ago

Highest Paying Programming Language, Skills: Here Are The Top Earners

628563 views

Which Programming Languages in Demand & Earn The Highest Salaries?

436302 views

Top 10 Best Countries for Software Engineers to Work & High in-Demand Programming Languages

424743 views

50+ Data Structure, Algorithms & Programming Languages Interview Questions for Programmers

256236 views

Which Country Has The Best Programming Language Programmer?

219489 views

### A Data Scientist's Guide to Data Structures & Algorithms, Part 1

**Big O Notation**

**Formal Notation**

**Big Ω**: the best-case scenario. The Big Ω of an algorithm describes how quickly an algorithm can run under the best of circumstances.

**Big O**: the worst-case scenario. Typically, we are most concerned with the Big O time because we are interested in how slowly a given algorithm will run, at worst. How do we essentially make the 'worst-case' not as bad as it could be?

**Big θ**: this can only be used to describe the run-time of an algorithm if the Big Ω and the Big O are the same. That is, the algorithm's run time is the same in both the best and worst cases.

- O(log n): aka log time
- O(n): aka linear time
- O(n log n)
- O(n²)
- O(n!)

- Search through the list to find the largest number
- Add that number to a new list
- Go to the original list, search through it again to find the next largest number
- Add that number to the new list and so on...

- Pick an element from your list, known as the pivot. The selection of a pivot is important in determining how quickly a quicksort algorithm will run. For now, we can select the last element each time as the pivot. (For additional information on pivot selection, I recommend the Stanford Coursera algorithms course.)
- Partition the list so that all numbers smaller than the pivot are to its left and all numbers greater than the pivot are to its right.
- For each 'half' of the list, you can treat it as a new list with a new pivot and rearrange each half until it is sorted.

- Grokking Algorithms by Aditya Y. Bhargava
- Cracking the Coding Interview by Gayle Laakmann McDowell
- Stanford University Coursera Algorithms specialization
- Big O cheat sheet