שחזורי ראיונות עבודה -> עזרה בשאלת אלגוריתם
  • עזרה בשאלת אלגוריתם
  • ע"י: קוםיקו
    היי אשמח עם מישהו יוכל לעזור בשאלה הזו תודההה לרשותך רשימה מקושרת חד כיוונית בנוסף לרשותך שני מצביעים. הצע אלגוריתם כל שתוכל לנוע קדימה ואחורה ברשימה המקושרת החד כיוונית בזמן ריצה בסדר גודל של (O(1
  • ע"י: יואל
    תודה
  • ע"י: 1_אורח_כללי
    אני קצת התבלבלתי עם הציור. 3 לא מצביע על 2, רק על 4, אבל 2 נשמר במצביע הנוסף.
  • ע"י: יואל
    אינני מבין, בדוגמא הזאת שהראית, איך יתכן שמספר 3 מצביע למספר 2 וגם למספר 4 בו זמנית, הרי מדובר ברשימה חד-כיוונית? (לפי הבנתי, ברשימה חד-כיוונית לכל אובייקט יש רק מצביע אחד, האם טעיתי?)
  • ע"י: 1_אורח_כללי
    כל פעם שאתה זז אתה הופך את הכיוון של המצביע שממנו זזת. בנוסף אתה שומר אותו במצביע הספר שלך (מצביע אחד לשמור באיזה מיקום אתה, ובאחד לשמור את המיקום ממנו באת). זאת הרשימה בהתחלה: head->1->2->3->4->5 נגיד שהתחלת לזוז מתא 1 והגעת לתא 3 אז עכשיו הרשימה נראית ככה: head<-1<-2<-3->4->5 | | מי מש מי = מצביע ימין. מש = מצביע שמאל.
  • ע"י: קוםיקו
    הי תודה על התגובה המהירה תוכל להסביר את זה בדוגמא אולי כי לא ממש הבנתי איך אתה משתמש ב 2 המצביעים שיש לך ומה הכוונה מחליף כיוונים תודה
  • ע"י: 1_אורח_כללי
    כל פעם שאתה מתקדם לכיוון מסויים תהפוך את המצביעים ככה שאם אתה נמצא במיקום מסויים, כל המצביעים שלפני מצביעים אחורה וכל המצביעים שאחרי מצביעים קדימה כשמתקדמים פשוט צריך לשמור שהתנאי הזה יתקיים ולהפוך כל מצביע שאתה עובר דרכו