ну в таком случае я бы сперва разобрался сам в алгоритме и потом бы уже пробовал написать его самостоятельно, и видно сразу будет где пути оптимизации есть... вот только мне бы жалко на это время было бы, хотя в универе писал когда-то его с нуля, ща уже ничего не помню