Big(o)

The most wanted even after graduation!

Attempt: To understand in most simplest way. "Layman's language."

  • What Big(o) means?

    I want to solve a problem, I want to know how much time is needed to solve it. That's all what Big(o) tells.

  • Example:

    O(1): I have one deck of cards with me. Randomly I have placed 6

    cards facing its written part towards me. One of the card in it is 7 of

    spade.

    Task1:Pick up 7 of spade. Whats the Time taken?

    Time: It takes one second to pick up the card. O(1)

    Task2:Pick up any ONE card from it. Whats the Time taken?

    Time: It takes one second to pick one card among it. O(1)

    Task3:All the cards from deck are placed. Pick any ONE card. Whats the

    Time taken?

    Time: It takes one second to pick up any one card from deck. O(1)

    No matter what number of cards is placed (it can be thousand or more ),

    the amount of time taken to pick any one card will always be 1 second

    irrespective of space those cards are covering or quantity of cards.

    O(n): I have one deck of cards with me. Randomly I have placed 6

    cards facing its written part downwards. So, now we dont know what are

    those 6 cards.

    Task1: Search for 2 of hearts. Whats the time taken?

    Time: 2 of hearts may be there or may not be, we dont know. We dont

    know what are those 6 cards. So what will we do? Pick up each card one

    at a time and look for 2 of hearts. This way we are touching all 6 cards

    one time. Time taken is O(6). No matter how many cards are placed we are

    touching each cards atleast one time to find 2 of hearts.

    Task2: 'n' cards are placed, Have to search for Ace of club. What's

    the time taken?

    Time: O(n), Because to find Ace of club, have to pick up each cards

    atleast once.

    O(n^2): I have randomly placed 8 cards such that some card's written

    part is facing upwards and some downwards.

    Task1: Face the cards in the same direction facing upwards. Whats the

    time taken?

    Time: To execute this task we need to visit card 2 times:

    1. Pick up a card and check. It is towards which side.

    2. Now flip the card and check If upwards place as it is, if not turn

    the card and place facing towards upperside.

    Two times an individual card is visited. i.e. O(8^2).

    Same way if 'n' cards are placed and two times we are visiting the

    card individually then the time taken would be O(n^2), which means

    each card is visited 2 times.

  • O(n^n): Each n element are visited n times. For eample, there are 26

    cards given, each cards are atleast visited 26 times.

  • O(logn): 100 cards are given, check if Joker is present in the

    deck. What's the time taken?

    Task1: To check if Joker is present.

    Time: Searching 100 cards individually is difficult. To search in

    faster and efficient way approach will be:

    1. divide the 100 in two halves.

    2. Search in either one of the halves.

    3. If joker is present, other halv will be discarded.

    4. if joker isn't present, the other half will be divide in two halves

    and repeat the steps 2 and 3 till card is found.

    So, Cards will be divided n times untill Joker is found, thus it will

    be O(logn).