lt 03 - juan lopes - complexidade algoritmos
TRANSCRIPT
![Page 1: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/1.jpg)
Juan Lopes github.com twitter.com /juanplopes
![Page 2: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/2.jpg)
![Page 3: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/3.jpg)
![Page 4: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/4.jpg)
for(int i = 0; i < 30000; i++) s += “whatever”;
![Page 5: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/5.jpg)
var builder = new StringBuilder(); for(int i = 0; i < 30000; i++) builder.Append(“whatever”); s = builder.ToString();
![Page 6: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/6.jpg)
var builder = new StringBuilder(); builder.Append(“whatever”); builder.Append(“whatever”); s = builder.ToString();
![Page 7: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/7.jpg)
![Page 8: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/8.jpg)
n tempo 5 175
10 700
15 1575
20 2800
25 4375
30 6300
35 8575
50 17500
0
5000
10000
15000
20000
5 10 15 20 25 30 35 50
tempo
tempo
![Page 9: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/9.jpg)
for(int i = 0; i < n; i++)
s += “whatever”;
O(n)?
![Page 10: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/10.jpg)
for(int i = 0; i < n; i++)
s += “whatever”;
i len(s) custo 0 0 L 1 L 2*L 2 2*L 3*L
… n n*L (n+1)*L
Total: L
2
n n²
![Page 11: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/11.jpg)
for(int i = 0; i < n; i++)
s += “whatever”;
O(n²L)!
![Page 12: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/12.jpg)
![Page 13: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/13.jpg)
![Page 14: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/14.jpg)
![Page 15: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/15.jpg)
“Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts
at efficiency actually have a strong negative impact when debugging and maintenance are considered.
We should forget about small efficiencies, say about 97% of the time:
premature optimization is the root of all evil.
Yet we should not pass up our opportunities in that critical 3%.”
Dr. Donald E.
Knuth
![Page 16: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/16.jpg)
Vilfredo
Pareto
20%
80%
Alguma coisa
Outra coisa
![Page 17: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/17.jpg)
![Page 18: LT 03 - Juan Lopes - Complexidade algoritmos](https://reader034.vdocuments.net/reader034/viewer/2022052601/558bb03fd8b42a7e408b46cd/html5/thumbnails/18.jpg)