שאלה שמקננת אצלי כבר הרבה זמן...
שלום, יש לי שאלה שמקננת אצלי בראש כבר הרבה מאוד זמן, ומשום מה אני לא מצליח למצוא את הפיתרון.. אני אודה מאוד (מאוד) למי שיוכל לכוון אותי... אני צריך למצוא במערך מספרים ממויין בסדר עולה, אם קיימים בו שני מספרים שסכומם שווה לערך נתון (שיכול להיות מוזן, לצורך העניין ע"י משתמש)... הצלחתי למצוא אלגוריתם שיפתור את הבעיה בסיבוכיות (O(n log n - פשוט מחסיר את הערך אותו אני מחפש בכל אחד מתאי המערך ומחפש בחיפוש בינארי את ההפרש שביניהם.. הבעיה היא שאני צריך למצוא אלגוריתם שיעשה זאת בסיבוכיות של (O(n.... חשבתי על כיוון מסויים: אם אני מחפש את המספר 10 למשל, אז אני יחסר את הנתונים במערך ב-10/2.. כך שאני ממיר את הבעיה בכך שאני צריך למצוא שני מספרים במערך החדש שחיבורם יסתכם ב-0.. חשבתי שהנה אני קרוב לפיתרון, אבל אני עדיין לא מצליח למצוא את האלגוריתם שיעשה את זה.... אני אשמח לכל הכוונה... אלישי.
שלום, יש לי שאלה שמקננת אצלי בראש כבר הרבה מאוד זמן, ומשום מה אני לא מצליח למצוא את הפיתרון.. אני אודה מאוד (מאוד) למי שיוכל לכוון אותי... אני צריך למצוא במערך מספרים ממויין בסדר עולה, אם קיימים בו שני מספרים שסכומם שווה לערך נתון (שיכול להיות מוזן, לצורך העניין ע"י משתמש)... הצלחתי למצוא אלגוריתם שיפתור את הבעיה בסיבוכיות (O(n log n - פשוט מחסיר את הערך אותו אני מחפש בכל אחד מתאי המערך ומחפש בחיפוש בינארי את ההפרש שביניהם.. הבעיה היא שאני צריך למצוא אלגוריתם שיעשה זאת בסיבוכיות של (O(n.... חשבתי על כיוון מסויים: אם אני מחפש את המספר 10 למשל, אז אני יחסר את הנתונים במערך ב-10/2.. כך שאני ממיר את הבעיה בכך שאני צריך למצוא שני מספרים במערך החדש שחיבורם יסתכם ב-0.. חשבתי שהנה אני קרוב לפיתרון, אבל אני עדיין לא מצליח למצוא את האלגוריתם שיעשה את זה.... אני אשמח לכל הכוונה... אלישי.