...

Full Bio

17 Best Courses Offer Free Certification To getting Job

yesterday

8 Most Popular Programming Languages & Frameworks of 2019 - All Programmer Should Have Knowledge

9 days ago

Top 14 Different Demanded Programming Languages And Their Uses - All Programmer Should Know

10 days ago

What Is The Programming Language You Are Looking For And Why?

13 days ago

Top 10 Most Popular Machine Learning Companies In 2019

16 days ago

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

625692 views

Which Programming Languages in Demand & Earn The Highest Salaries?

434280 views

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

413445 views

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

255024 views

Which Country Has The Best Programming Language Programmer?

218496 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