Tôi hiện đang cố triển khai thuật toán sơ đồ trang web trong Javascript. Cụ thể hơn là thuật toán được mô tả trong Squarified Treemaps. Mã giả cho trông giống như sau:Thực hiện một sơ đồ trang trí hình vuông trong javascript
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
tuy nhiên JavaScript của tôi trông giống như:
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());
}
Theo như tôi có thể nói mã của tôi làm việc một cách chính xác, nhưng sự bất bình đẳng là một cách sai lầm xung quanh. Tôi giả sử tôi nhìn thấy một cái gì đó trong việc thực hiện của tôi, hoặc là bất đẳng thức sai cách xung quanh trong mã giả? Cảm ơn
Có thể lỗ hổng trong việc bạn triển khai 'tồi tệ nhất()'. – gilly3
Cảm ơn phản hồi. Tôi đã nhìn khá chặt chẽ tại triển khai của tôi tồi tệ nhất, và theo như tôi có thể nói nó trả lại tỷ lệ tồi tệ nhất một cách chính xác. Điều thú vị là một [bài đăng blog] (http://jectbd.com/?p=271) dường như có sự bất bình đẳng theo cách khác, vì vậy tôi bắt đầu nghi ngờ mã giả là không chính xác. – user414310
Xin lỗi, đã đọc bài đăng trên blog, không chỉ là mã. Nó thực sự trông giống như sự bất bình đẳng là sai đường xung quanh. – user414310