#1 - The Role of Algorithms in Computing

(I am not accountable for mistakes in the calculations since it's past 2am :laughing:)

PS1: see the [README](https://github.com/rmascarenhas/ita#introduction-to-algorithms)
PS2: get used to LATEX.
PS3: I'm pasting the compiled version here, but you should only see it after you open your own pull request.

/cc @fabioyamate @andrielfn @laurocaetano

*****

![exercises1](https://cloud.githubusercontent.com/assets/613784/3560714/8c5be0ae-0985-11e4-85c8-f01126642343.png)
![exercises2](https://cloud.githubusercontent.com/assets/613784/3560715/8dfccfea-0985-11e4-99b8-970e23abbcbb.png)
![exercises3](https://cloud.githubusercontent.com/assets/613784/3560716/8f6fd174-0985-11e4-9bd8-3e087940ef9d.png)

![runtime_comparison1](https://cloud.githubusercontent.com/assets/613784/3565528/519179c2-0abe-11e4-8e40-da0dc70e175f.png)

Yeah, I see your point. If I were to write a function like `list_remove(list, index)`, then it would indeed grow linearly with `n`. What I meant here is the usual scenario where I'm iterating over the list to remove elements that match a certain criteria. When I find one, I can remove it in constant time, whereas I would need to shift all past elements in a standard array - a linear complexity operation.

But you are right, I should clarify on that.