העלאה יעילה של ביטוי בריבוע
נאמר ויש לי שני קלאסים -
נאמר ויש לי שני קלאסים -
class 1var { int id; double m; } class 2var { int id1, id2; double m; }
כאשר 1var מייצג משתנה אחד ו- 2var מייצג מכפלה של שני משתנים. id הוא מס' המשתנה/ים ו-m הוא מס' המכפיל. אני מייצג ביטוי לינארי כוקטור של 1var וביטוי ריבועי כוקטור של 2var. בהינתן ביטוי לינארי אני רוצה להחזיר ביטוי ריבועי שמהווה את הריבוע שלו. האם קיימת דרך יעילה יותר לבצע זאת מאשר הפיתרון הנאיבי (שתי לולאות מקוננות באורך n כל אחת)?