Últimos Posts

sábado, 9 de maio de 2015

[Dica] - Visualização de algoritmos e estruturas de dados

Olá pessoal, irei passar dois sites úteis para visualização de algoritmos, ou seja, animação para que você entenda melhor como os algoritmos funcionam:



Espero que sejam úteis, até a próxima!


sábado, 2 de maio de 2015

[Bioinformática] - Algoritmo de Smith-Waterman

Olá pessoal, segue uma apresentação que fiz sobre o Algoritmo Smith-Waterman. Esse algoritmo realiza alinhamento local entre sequências e utiliza programação dinâmica.



sexta-feira, 1 de maio de 2015

[Python] - Similaridade entre sequências

Olá pessoal, nesse post iremos utilizar o módulo difflib, mais precisamente a SequenceMatcher para encontrar a porcentagem de similidade entre sequências.

O uso do módulo e das funções não oferecem dificuldades, veja o código que está comentado:



[Linux] - Como instalar o Java 8 - 8u45

Olá pessoal, nesse post iremos instalar o Java 8 no Linux (update 45 que é o último no momento desse post). 

O que eu tinha no meu sistema era o update 31 (8u31), ou seja, precisava atualizar! Tanto é que eu uso o site do Banco do Brasil e não conseguia mais acessar minha conta porque estava desatualizado, então atualize o seu também :)

Os comandos são simples veja:



quinta-feira, 30 de abril de 2015

[Dica] Linux - Instalando o Gazette

Olá pessoal, nesse post iremos instalar o Gazette que é um serviço que informa as notícias (feed) e o tempo em sua área de trabalho.

Você pode configurar o feed de sua preferência, irei colocar o do GeeksBR. Irei instalar na distro linux Elementary, veja o tutorial:



quarta-feira, 29 de abril de 2015

[Python] - Otimização por Colônia de Formigas (Ant Colony Optimization) aplicado ao problema do Caixeiro Viajante (Traveling Salesman Problem)

Olá pessoal, nesse post iremos colocar uma implementação nossa para resolver o problema do caixeiro viajante (traveling salesman problem - TSP) utilizando a heurística de otimização por colônia de formigas (ant colony optimization - ACO).

O problema do caixeiro é bem simples, você tem que visitar todas os vértices de um grafo e só pode passar por cada vértice uma única vez. Qual o menor caminho?

Esse problema é de fácil entendimento (nós já abordamos ele em outros posts), mas a sua complexidade cresce absurdamente ao aumentar o número de vértices.



sexta-feira, 24 de abril de 2015

Programação em C - Quicksort

Olá pessoal, em posts anteriores falamos sobre diversos algoritmos de ordenação tais como Insertion Sort, Selection Sort, Bubble Sort, Heap Sort e Merge Sort. Nesse post iremos falar sobre o Quicksort (ordenação rápida).

O Quicksort é um método bastante utilizado, assim como o Mergesort, ele utiliza a estratégia de divisão e conquista (quebra um problema em subproblemas menores). O caso médio do Quicksort é O(nlogn) e O(n^2) no pior caso.

Você pode está achando que não é uma boa usar o Quicksort porque o HeapSort e MergeSort têm complexidade nlogn no pior caso, mas esse post irá esclarecer o porquê que o Quicksort é a melhor escolha na maioria das vezes.



terça-feira, 21 de abril de 2015

Programação em C - Fila Circular com arranjo

Olá pessoal, nesse post iremos falar sobre fila circular. Antes você precisa saber o que é uma fila. Uma fila nada mais é que uma estrutura de dados onde o primeiro elemento a entrar é o primeiro a sair, basta você pensar numa fila de banco onde a pessoa que vai chegando se posiciona ao final da fila e quem está no início da fila vai sendo atendido primeiro.


Numa fila (queue) você sempre remove do início (frente da fila). Você pode implementar uma fila utilizando arranjos (vetores) e também pode implementar utilizando apontadores (ponteiros).



sábado, 18 de abril de 2015

[Python] - Soma dos dígitos do fatorial de 100

No post anterior havíamos postado uma implementação em C para o problema da soma dos dígitos do fatorial de 100. O problema encontra-se no link:


Bem, em C foi um pouquinho trabalhoso, em Python é bem mais simples, veja: