Algoritmo Fisher-Yates shuffle
Publicado por Osama Jr. (última atualização em 31/08/2009)
[ Hits: 7.399 ]
Homepage: Não tenho
Uma versão em shell script do algoritmo Fisher-Yates shuffle (também conhecido como Knuth-Shuffle). Essa versão não é lá muito eficiente devido às limitações da variável $RANDOM.
Mais detalhes: http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
P.S.: Obrigado SMarcell pelas dicas! ;)
#!/bin/bash # # "Implementação" em Shell Script do algoritmo Fisher-Yates shuffle. # Autor: /bin/laden - 24/08/2009. # # Uso: fisher-yates-shuffle <valores> # Ex.: ./fisher-yates-shuffle 0 1 2 3 4 5 6 7 8 9 # # Mais detalhes: <man bash> ou <www.google.com> =P # # Obs.: Implementação pouco eficiente devido a limitação # da variável RANDOM. function fisher-yates-shuffle { RANDOM=$$ declare -a array=($@) declare -i k n=${#array[@]} while [ $n -ge 0 ] do let "k = RANDOM % (n + 1)" swap+=(${array[$k]}) array[k]=${array[$n]} array[n]=$swap let "n--" done echo "${swap[@]}" && return 0 } fisher-yates-shuffle $@
Script para calcular o valor fatorial de um numero
Compilação automatica do GCC-4.7.1 no Debian 32 bits em Bash
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Primeiras impressões do Debian 13 (21)
systemd-resol... precisa ser reiniciado periodicamente (3)
intervenção politica pode interver no Fedora Linux [RESOLVIDO] (8)
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (0)