मैं वर्तमान में Javascript में एक ट्री-मैप एल्गोरिथ्म को लागू करने की कोशिश कर रहा हूँ में एक squarified ट्री-मैप को लागू करने। अधिक विशेष रूप से 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
हालांकि मेरी जावास्क्रिप्ट की तरह दिखता है:
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());
}
जहां तक मैं अपने कोड बता सकते हैं ठीक से काम करता है, लेकिन असमानता के आसपास गलत तरीका है। मुझे लगता है कि मैं अपने कार्यान्वयन में कुछ दिख रहा हूं, या असमानता छद्म कोड में गलत तरीके से है? धन्यवाद
शायद दोष की 'सबसे खराब()' अपने कार्यान्वयन में है। – gilly3
प्रतिक्रिया के लिए धन्यवाद। मैंने सबसे खराब के कार्यान्वयन पर काफी बारीकी से देखा है, और जहां तक मैं यह कह सकता हूं कि यह सबसे खराब अनुपात सही ढंग से लौटाता है। दिलचस्प बात यह है कि [ब्लॉग पोस्ट] (http://jectbd.com/?p=271) में असमानता दूसरी तरफ प्रतीत होती है, इसलिए मुझे संदेह करना शुरू हो रहा है कि छद्म कोड गलत है। – user414310
क्षमा करें, ब्लॉग पोस्ट को पढ़ना चाहिए था, सिर्फ कोड ही नहीं। यह वास्तव में असमानता की तरह दिखता है कि गलत तरीका है। – user414310