chuis bloqué pour la table des successeurs (KMP) [algorithme] - Programmation
Marsh Posté le 12-03-2002 à 21:31:38
désolé de vous avoir dérangé, j'ai trouvé tout seul!!
voilà ce que j'ai fait (en perl) pour ceux que ça pourrait intéresser:
$i = 1;
$j = 0;
$posuiv [0] = -1;
$posuiv [$i] = $j;
while ($i < length ($mot))
{
if ($tab[$j] eq $tab[$i])
{
$i++;
$j++;
$posuiv[$i]=$j;
}
else
{
if ($j == 0)
{
$i++;
$posuiv[$i]=$j;
}
else
{
$j = $posuiv[$j];
}
}
}
ou ça en version améliorée :
$i++;
}
$i = 1;
$j = 0;
$posuiv [0] = -1;
$posuiv [$i] = $j;
while ($i < length ($mot))
{
if ($tab[$j] eq $tab[$i])
{
$i++;
$j++;
if ($i <= $#tab && $tab[$i] eq $tab[$j])
{
$posuiv[$i] = $posuiv[$j];
}
else
{
$posuiv[$i] = $j;
}
}
else
{
if ($j == 0)
{
$i++;
$posuiv[$i]=$j;
}
else
{
$j = $posuiv[$j];
}
}
}
ciao!
Marsh Posté le 12-03-2002 à 21:46:49
je connais pas l'algo de Knuth maurice et pratt.
c koi le principe?
je connais et programme en Perl mais la je vois pas ce que ca fait !!
Marsh Posté le 12-03-2002 à 22:55:32
http://www1.ics.uci.edu/~eppstein/161/960227.html
Marsh Posté le 12-03-2002 à 17:25:31
salut tout le monde!
chui un tit peu bloqué au niveau de l'algo pour la création de la table des successeurs de l'algo de Knuth maurice et pratt. Je sais quel en est le principe, mais je sais pas par quel bout l'attaquer, donc, si vous pouviez me donner un tit coup de main, ce serait pas de refus!
merci d'avance