...

Full Bio

Top 10 Most Popular Programming Language Programmers Expert In The World Of All Time

today

Computer Programming Language Programmer Salary & Career Outlook

yesterday

How To Prepare For Competitive Programming Language For Computing Olympiad & Win Gold?

2 days ago

Top Demanding Programming Languages For Virtual Reality

3 days ago

How To Write A Engineering Resume & Showcase For Your Software Engineering Skills

3 days ago

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

604866 views

Which Programming Languages in Demand & Earn The Highest Salaries?

424179 views

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

369948 views

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

250473 views

100+ Data Structure, Algorithms & Programming Language Interview Questions Answers for Programmers - Part 1

213477 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