I got few examples I am currently stuck on. Would appreciate your advice and how to do this. what are the best and worst case for these examples ?
- example 1

- example 2

- example 3

I'm not gonna give you the answers. But here's an example of how I would approach it with comments.
for(int i = 0; i < N; i++) //This line is executed N times
for(int j = i; j < N; j++) // This line is executed (N - i) times, for every N
doSomeWorkOn(i, j); //This can add complexity as well, but let's assume we're trying to figure out how many times this is called.
So note that each time we run the first loop, the amount of work we do in the second loop decreases. This complicates thing. If our inner loop read
for(int j = 0; ......)
Then the answer is simple, it is simply N * N. N times, we need to do N amount of work. In this case what we have is
N + (N-1) + (N-2)....(N-N) If you then google mathematical series you will find that this simplifies to (N(N+1))/2.
EDIT:
Note it will probably be easier to find the series if you do it in reverse from what I did, meaning
0+1+2+...(N) = N + (N-1) + (N-2) ... (0) = (N(N+1))/2
The 1st approach is most common. I have a habbit of doing it in reverse because I have the series table memorized, and seeing it in relation to N is more meaningful to me, but form an beginner perspective, it is likely easier for you to start on the lower end, as this is how most help pages/text books/professors will present it. It is, however, identical. Whichever way is easiest for you.
Looks like homework for an Algorithms class to me, but to analyze iterative algorithms you'll need to use summation rules. Introduction to the Design and Analysis of Algorithms by Anany Levitin is a good book to have.
And to go along with what ChrisCM said -
Taken right from the book:
Helpful rules: 
nand plot it againstkthat should give you the idea