...

Full Bio

Use Machine Learning To Teach Robots to Navigate by CMU & Facebook Artificial Intelligence Research Team

230 days ago

Top 10 Artificial Intelligence & Data Science Master's Courses for 2020

231 days ago

Is Data Science Dead? Long Live Business Science

259 days ago

New Way to write code is about to Change: Join the Revolution

260 days ago

Google Go Language Future, Programming Language Programmer Will Get Best Paid Jobs

581 days ago

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

725955 views

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

669477 views

Which Programming Languages in Demand & Earn The Highest Salaries?

474621 views

Top 5 Programming Languages Mostly Used By Facebook Programmers To Developed All Product

464493 views

World's Most Popular 5 Hardest Programming Language

396477 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