Algorítmos de Matemática

About HOME

JavaScript

Matemática

Permutações

Bem, se você está no segundo grau, suponho que sabe alguma coisa sobre permutações Por exemplo, os 3 elementos do conjunto {A,B,C} podem ocupar posições diversas (aqui a posição nos interessa).Vamos trocar e listar essas posições:

{A,B,C}
{A,C,B}
{C,A,B}
{C,B,A}
{B,A,C}
{B,C,A}

Com três elementos fica até fácil. É só fixar um dos elementos e permutar os demais. As permutações possívels são dadas pelo fatorial do número de lementos (3! = 3.2.1 = 6, no exemplo acima). Fica mais difícil fazer isso quando temos mais de 3 elementos. O script a seguir faz a listagem das permutações de N dígitos.

O Algorítmo desse usado nesse demo é devido ao cientista Holandês Edsger Wybe Dijkstra (1930 – 2002) e a diferença de outros algorítmos é que este não é recursivo. Mesmo assim é preciso cuidado, porque um número muito grande (N > 7 ) pode paralisar o navegador.
Esse script foi testado apenas em um computador Core 2 DUO e 2gb de memória RAM, se é que isso faz muita diferença.
No final desta página está o código fonte em javascript.

Demo de Permutação


Vídeos relacionados

Código Fonte:

permutacoes.js