במטלה מצויין שהפונקציות צריכות לחזור בתוך זמן סביר. השאלה היא על איזה גודל קלט מדובר בפונקציה הזו. תודה
ממשיך את הדיון, היות ולא התקבלה תשובה מהסגל, עבור עד איזה אורך של קלט תיבדק הפונקציה?
היות ואפילו עבור רשימה באורך 50 הפונקציה לא תסיים בזמננו את הריצה..
תודה רבה.
ניסיתי את זה והפונקציה רצה מהר הבעיה היא רק להדפיס את התוצאות בסוף
אצם יכולים לשנות את הערך הסופי המוחזר לאורך של הרשימה ואז לבדוק את זמן הריצה
אם משתמשים ב K נמוך, אז גם רשימה של 10000 תרוץ מהר. ב K גבוה יגמר למחשב הזיכרון כי אז יש לו המון רשימות להחזיק
אנחנו לא נריץ את הפונקציה על קלטים גדולים מאד. גודל קלט סביר הוא רשימה באורך 20 ו-k שערכו הוא 10.
אוכל לתת לכם את זמני הריצה שמתקבלים עבור המימוש שלי רק לשם השוואה.
עבור רשימה באורך 20, ו k=10 זמן הריצה הינו פחות משניה אחת.
השתמשתי בפונקציה הבאה למדידת הזמנים:
import time def f (l, k): t0 = time.clock() res = choose_sets(l, k) print(time.clock() - t0)
מיכל, רק לוודא,
כשאני מריץ את הפונקציה שצירפת למדידת הזמן, גם אצלי זה רץ פחות משנייה. אבל הרצה בפועל של הפונקציה עצמה אפילו לא מסתיימת, מכיוון שהיא נדרשת להדפיס רשימה באורך של כמעט 185000 תתי רשימות.
אני מבין שזה תקין מבחינתכם, נכון?