Matemática, computação e o método científico
Table of Contents
- A matemática, a computação e o método científico como guia de decisões de desenvolvimento de software, de alta performance.
- Contextualização
- Métodos
- Consequências
A matemática, a computação e o método científico como guia de decisões de desenvolvimento de software, de alta performance.
Contextualização
Digamos que eu tenha que achar a maior distância, dado que essas distâncias são relativas a um ponto central, e diversos outros pontos.
Ou seja, dado {P0, P1, P2, …, Pn}, e considerando as distâncias {P0P1, P0P2, …, P0Pn}, qual a maior distância nesse conjunto de distâncias?
Métodos
Pelo método de exaustão, podemos fazer uma combinação de n.(n-1)/2 comparações. E.i., P0P1 e P0P2, P0P1 e P0P3 etc.
No entanto, poderíamos ordernar o conjunto de distâncias, e então escolher o último (ou primeiro). O qual será o maior. Isso na ordem de n.log(n) comparações.
Consequências
Coisas bestas assim podem ser a diferença entre um cliente demorar 10 minutos, ou 1 minuto no seu site; além da satisfação e vontade de retorno variarem correlatamente.
Mas… Ninguém cria um serviço de calcular distância entre pontos!
Não, não… pode ser que se esteja ordenando o melhor investimento pro perfil do cidadão. Ou, a nota de crédito bancário. Ou mesmo, parte de um algorítmo para calcular a melhor rota de um veículo. Etc.
O estudo de algorítmos é fundamental, acompanhado de estrutura de dados.
Códigos os quais possuem algorítmos empregando força-bruta, que são repetitivos e, consequentemente, deselegantes - além de se tornam um grandicíssimo débito técnico - diminuem a satisfação do cliente.
Coisas bestas assim podem ser a diferença entre um cliente demorar 10 minutos, ou 1 minuto no seu site; além da satisfação e vontade de retorno variarem correlatamente.
Mas… Ninguém cria um serviço de calcular distância entre pontos!
Não, não… pode ser que se esteja ordenando o melhor investimento pro perfil do cidadão. Ou, a nota de crédito bancário. Ou mesmo, parte de um algorítmo para calcular a melhor rota de um veículo. Etc.
O estudo de algorítmos é fundamental, acompanhado de estrutura de dados.
Códigos os quais possuem algorítmos empregando força-bruta, que são repetitivos e, consequentemente, deselegantes - além de se tornam um grandicíssimo débito técnico - diminuem a satisfação do cliente.