Recent Forum Posts
From categories:
page 1123...next »
2016 semB moedA Q2
roni (guest) 15 Feb 2019 20:32
in discussion Fall 2018/9 / Exam forum » 2016 semB moedA Q2

ההודעה הקודמת התבלגנה ולא ניתן למחוק

למה עבור
list(generate_shared_substrings("abcdef","xcdefx",3))
אני מקבלת רשימה ריקה?
מניחה שמשהו לא בסדר באחד מהקודים שלי אבל לא מוצאת את הבעיה..

def kr_gen(text,length,basis=2**16, r=2**32-3):
    fg=fingerprint(text[0:length+1])
    yield(fg)
    b_power=pow(basis,length-1,r)
    for s in range(1,len(text)-length+1):
        yield fg
        fg=slide(fg,text[s-1],text[s+length-1],b_power)
 
def generate_shared_substrings(text1,text2,length):
    f1=kr_gen(text1,length)
    i1=-1
    while True:
        fp1=next(f1)
        i1+=1
        f2=kr_gen(text2,length)
        i2=-1
        while True:
            try:
                fp2=next(f2)
                i2+=1
            except StopIteration:
                break
            if fp1==fp2:
                yield(i1,i2)

תודה!

2016 semB moedA Q2 by roni (guest), 15 Feb 2019 20:32
2016 semB moedA Q2
roni (guest) 15 Feb 2019 20:30
in discussion Fall 2018/9 / Exam forum » 2016 semB moedA Q2

היי :)
למה עבור
list(generate_shared_substrings("abcdef","xcdefx",3))
אני מקבלת רשימה ריקה?
מניחה שמשהו לא בסדר באחד מהקודים שלי אבל לא מוצאת את הבעיה..
def kr_gen(text,length,basis=216, r=232-3):
fg=fingerprint(text[0:length+1])
yield(fg)
b_power=pow(basis,length-1,r)
for s in range(1,len(text)-length+1):
yield fg
fg=slide(fg,text[s-1],text[s+length-1],b_power)

def generate_shared_substrings(text1,text2,length):
f1=kr_gen(text1,length)
i1=-1
while True:
fp1=next(f1)
i1+=1
f2=kr_gen(text2,length)
i2=-1
while True:
try:
fp2=next(f2)
i2+=1
except StopIteration:
break
if fp1==fp2:
yield(i1,i2)
תודה!

2016 semB moedA Q2 by roni (guest), 15 Feb 2019 20:30

שלום לכולם,

תרגיל מספר 6 נבדק והציונים עלו לאתר.

בעמוד הראשי של הקורס ב- moodle פורסם מפתח הניקוד עבור ההערות האישיות שקיבלתם.

הבונוסים בתרגיל אינם מוצגים כחלק מהציון הרגיל עקב אילוצי מודל. במקום זאת, הם יוצגו כציון של תרגיל "בונוס" נוסף שעלה למודל. מי שקיבל הערה על העדר תשובה לשאלה 5 או לשאלה 6 לא הפסיד עליהן ניקוד, אלא לא הרוויח.

המעוניינים לערער על ציונם חייבים לעשות כך בכפוף להוראות הערעור (ראו באתר את מסמך appeals.pdf) עד לתאריך ה-12.02.2019. ערעורים שאינם לפי ההנחיות לא יבדקו.

שימו לב: כתובת המייל לערעורים היא moc.liamg|1001sc.uat#moc.liamg|1001sc.uat, יש לפנות אך ורק למייל זה.

צוות הקורס.

אני אתקן את עצמי לפי ההנחות האלה גם אינדקסים זה סיבוכיות זכרון O(n) ולכן אני לא מאמין שזאת הייתה הכוונה בשאלה.
ככל הנראה גם אינדקס וגם אורך הם חסומים.

אתה מדבר על סיבוכיות הזכרון, כן?
אם אתה מתכוון למשתנה שמחזיק אינדקס רץ אז זה בטוח קבוע.
לגבי אורך, אז זה תיאורטית O(n)

יש לך רק 52 ביטים בשביל לייצר את הדיוק, השאר מייצגים מספר שהולך לחזקה של שתיים שהדיוק מוכפל בה, זה ברור?
עכשיו את רוצה לייצג את 2 בחזקת 53 בעזרת הביטים האלה, איך את עושה את זה? את לא יכולה כי בבינארי 2 בחזקת חמישים ושלוש דורש 53 ביטים. אז בעצם את כותבת 2 בחזקת 52 בביטים ודואגת שהחזקה של שתיים תהיה אחת וככה בעצם את מוסיפה לעצמך עוד ביט, אבל הביט הזה הוא תמיד אפס, כי סתם כפלת בשתיים.
עכשיו את רוצה לייצג את שתיים בחזקת 53 ועוד אחד, איך את עושה את זה? את לא יכולה, כי הכלי היחיד שלך הוא לכפול בשתיים כלומר "להוסיף עוד ביט של אפס" את לא יכולה להוסיף עוד ביט של אחד. לכן בגדלים האלה אין לנו דיוק בין מספרים זוגיים לאיזוגיים, תנסי ותראי כשאת בחזקות גבוהות יותר את כל הזמן מאבדת עוד ועוד דיוק, כאשר האובדן הוא כל הזמן בחזקות הולכות וגדלות של שתיים, כי בעצם "הוספת עוד ביטי אפס לייצוג שלך.

by Hagai ShapiraHagai Shapira, 26 Jan 2019 18:50

מצטער על העיכוב, הייתי רחוק מהמחשב.
זה התיקון שעובד אצלי, תראה אם זה עובד לך:

def insert_minimal_rec(root, x, y):
    if x>y:
     return
    mid = (x + y)//2
    root = insert(root, mid, mid)
    insert_minimal_rec(root, x, mid-1)
    insert_minimal_rec(root, mid+1, y)
    return root

בשאלה 4 על סיבוב מעגלי של מחרוזת, בסעיף הראשון בו יש להשתמש בזכרון קבוע, האם שימוש באינדקס של מיקום בסטרינג או שמירת אורך הסטרינג נחשב קבוע או לוגריתמי לצורך שאלה זו?

2017b_moed-a סיבוב מעגלי של מחרוזת by עודד (guest), 26 Jan 2019 17:03
‫מיכאל בסט‬‎ (guest) 26 Jan 2019 16:47
in discussion Fall 2018/9 / Exam forum » 2017 semester a moed b Q1

אם תוכל לשלוח זה ממש יעזור.(root-היי, לא הצלחתי לתקן (בלי קשר לנקודה שנוספה שם בטעות אחרי

by ‫מיכאל בסט‬‎ (guest), 26 Jan 2019 16:47
noa davidovitch (guest) 26 Jan 2019 16:42
in discussion Fall 2018/9 / Exam forum » נקודה צפה 2017 סמסטר ב מועד א

אני עדיין לא מצליחה להבין. 2 בחזקת 53 זה מספר שלם אז הייצוג של הפרקשיין שלו הוא 0 לפי מה שאני מבינה. אז למה כשמוסיפים 1 הוא לא נספר?

by noa davidovitch (guest), 26 Jan 2019 16:42

שים לב שאין צורך לבצע בדיקה אם root הוא None כי insert מתמודדת עם זה בכל מקרה.
בכל מקרה, הפונקציה צריכה להחזיר את root כמובן בשלב מסויים אבל שים לב איפה אתה מחזיר אותו והאם הוא באמת מגיע עד למעלה.
אם אתה רוצה שאני אפרסם את התיקון פשוט אז תגיד :)

היי :)
אז בעקרון הכל מוסבר פה https://en.wikipedia.org/wiki/Double-precision_floating-point_format
אבל אני אסביר לך במילים שלי. אנחנו מחשבים את המספר על ידי כפל של שבר שמורכב מאחד נקודה 52 ביטים. ואנחנו כופלים אותו בחזקה כלשהי של 2.
זה אומר שכאשר אנחנו כופלים בחזקת 52**2 אז השבר שלנו בעצם מייצג את המספרים השלמים עצמם, כי הנקודה שלנו בעצם נעה עד הסוף ימינה.
כאשר אנחנו עוברים ל53**2 אז הנקודה שלנו צריכה לנוע עוד מקום אחד ימינה ושם בעצם אנחנו מקבלים 1**2 שמוכפל במספר המיוצג על ידי השבר. ולכן פתאום הביטים שלנו יודעים לייצג רק את המספרים הזוגיים ואין לנו דיוק בין מספר זוגי למספר האיזוגי שבא אחריו.

‫מיכאל בסט‬‎ (guest) 26 Jan 2019 15:56
in discussion Fall 2018/9 / Exam forum » 2017 semester a moed b Q2

תודה

by ‫מיכאל בסט‬‎ (guest), 26 Jan 2019 15:56
2017 semester a moed b Q1
‫מיכאל בסט‬‎ (guest) 26 Jan 2019 15:55
in discussion Fall 2018/9 / Exam forum » 2017 semester a moed b Q1

היי, משהו במימוש הזה לא עובד לי, אשמח לעזרה

def insert_minimal(n):
    return insert_minimal_rec(None, 0, n)

def insert_minimal_rec(root, x, y):
    mid = (x + y)//2
    if root == None:
        root = insert(None, mid, mid)
    if x > y:
        return root
    insert(root, mid, mid)
    insert_minimal_rec(root, x, mid-1)
    insert_minimal_rec(root., mid+1, y)
2017 semester a moed b Q1 by ‫מיכאל בסט‬‎ (guest), 26 Jan 2019 15:55

http://tau-cs1001-py.wdfiles.com/local--files/exams/exam_2017b_moed-a.pdf
בשאלה מספר 5, למה 1 זו התשובה הנכונה?
אני לא מצליחה להבין למה בחזקה חיובית כלשהי (אפילו לא גדולה מידיי 52/53) יהיה איבוד של מידע שיגרום לעיגול כך שתוספת של 1 לא תשנה את המספר.
אודה להסבר אם מישהו מבין בזה :)

נקודה צפה 2017 סמסטר ב מועד א by noa davidovitch (guest), 26 Jan 2019 15:52

היי :)
שאלו על זה קודם אבל כבר יש המון שאלות. הנה השאלה הקודמת, אני אזהיר אבל שיש שם את הפתרון המלא:
http://tau-cs1001-py.wikidot.com/forum/t-10045083/2017-2
בהצלחה

2017 semester a moed b Q2
‫מיכאל בסט‬‎ (guest) 26 Jan 2019 14:05
in discussion Fall 2018/9 / Exam forum » 2017 semester a moed b Q2

היי, אפשר עזרה בסעיף ב, אפילו רק הרעיון הכללי

2017 semester a moed b Q2 by ‫מיכאל בסט‬‎ (guest), 26 Jan 2019 14:05
roni (guest) 26 Jan 2019 12:06
in discussion Fall 2018/9 / Exam forum » semB moedA 2017 Q1, b

אוקיי תודה רבה !!
פספסתי לגמרי את העניין של השונים מ0
:(

by roni (guest), 26 Jan 2019 12:06
roy (guest) 26 Jan 2019 11:53
in discussion Fall 2018/9 / Exam forum » 2018a moed b q4,d

כן נשמע לי הגיוני(:
תודה רבה!

by roy (guest), 26 Jan 2019 11:53
omer (guest) 26 Jan 2019 10:33
in discussion Fall 2018/9 / Exam forum » 2018a moed b q4,d

הסיבוכיות היא לפחות n כי עוברים על כל הרשימה לפחות. היא חסומה ע"י nlogn כי הטור ההרמוני יכיל את כל הראשוניים.
nlogn התשובה הכי חסומה מבין האופציות.

by omer (guest), 26 Jan 2019 10:33
page 1123...next »
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License