В настоящее время я пытаюсь реализовать алгоритм древовидной карты в Javascript.Более конкретно алгоритм описан в Squarified Treemaps .Приведенный псевдокод выглядит следующим образом:
procedure squarify(list of real children, list of real row, real w)
begin
real c = head(children);
if worst(row, w) <= worst(row++[c], w) then
squarify(tail(children),row++[c], w)
else
layoutrow(row);
squarify(children,[], width());
fi
end
однако мой JavaScript выглядит так:
var c = children[0];
if (worst(row, w) >= worst(row.concat(c), w)) {
this.squarify(children.splice(1), row.concat(c), w);
} else {
layoutrow(row);
this.squarify(children, [], width());
}
Насколько я могу судить, мой код работает правильно, но неравенство невернонаоборот.Я предполагаю, что я что-то упускаю из своей реализации, или это неравенство неправильно в псевдокоде?Спасибо