מתעניין ללימודי הנדסת מחשבים - עמוד 4 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

מתעניין ללימודי הנדסת מחשבים


assaf990

Recommended Posts

למען האמת מלאי האלגוריתמים דיי מוגבל, יש גבול על מספר הואריציות השונות שניתן לשאול על אלגוריתמים שמשתמשים בDFS לדוגמא...

בכל נושא אם אתה פותר מספיק תרגילים שום דבר לא יכול להפתיע אותך כי המוטו חוזר על עצמו בד"כ.

וצריך ללמוד כמובן בשניהם... אתה לא יכול לכתוב אלגוריתמים יעילים באמת בלי לדעת על מה אתה מדבר...

בתור אחד שנבחן בנושא שבוע הבא, אני חייב לא להסכים, ישנו מספר אינסופי של וריאציות לבעיות קיימות וכן מספר אינסופי של בעיות שעוד לא נחקרו (יש הוכחה לזה... לא ממש רלוונטי) DFS באלגוריתמים זה משהו מאד בסיסי, נעשה בו שימוש בהרבה דברים אבל זה לאו דווקא מגביל את מספר האפשרויות... נתן דוגמא מעולם התכנות, הפונציה (למרות שאני קורה לה יותר syntactic sugar) בשם FOR, תוכל לשאול כמה וויראציות יש על הפונקציה, הרי בספו של דבר כולן עושות איטרציה (על מבנה נתונים או כל דבר אחר) ולמרות זאת מספר השימושים הוא עצום. בנוגע לזה שצריך ללמוד בשביל לכתוב אלגוריתמים, מאד נכון, אלא אם כן אתה גאון. (ורובנו לא אוילר או דיניץ הבא).

למי שמחפש שריטה באמת גדולה במוח אני ממליץ על טופולוגיה (זה קורס של מתמטיקה, לא מדעי המחשב)

עשית אותו ? אני חושב לעשות אותו סמסטר הבא, חוו"ד ?

מטי.

קישור לתוכן
שתף באתרים אחרים

  • תגובות 61
  • נוצר
  • תגובה אחרונה

משתתפים בולטים בדיון

משתתפים בולטים בדיון

עשית אותו ? אני חושב לעשות אותו סמסטר הבא, חוו"ד ?

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

זה די נפוץ שם לתפוס אנשים עם זויות מוזרות בצוואר ובעיניים מנסים לדמיין דברים מסוימים (בקבוק קליין זה עוד כיף לעומת מה שיש שם)

קישור לתוכן
שתף באתרים אחרים

מספר אינסופי של בעיות שעוד לא נחקרו

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

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

קישור לתוכן
שתף באתרים אחרים

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

טוב, זו דוגמא למשחק פשוט שגם ב- brute force אתה יכול לפתור אותו בגדלים קטנים.

בשביל לפתור את זה עבור לוחות יותר גדולים אתה צריך למצוא אלגוריתם סריקה יעיל יותר.

קישור לתוכן
שתף באתרים אחרים

אתה טועה, וזה בגלל חוסר נסיון.

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

הפתרון הוא ממש פשוט אם אתה יודע משהו על תכנון דינמי וכמעט בלתי אפשרי בלי הידע הזה.

מטי.

קישור לתוכן
שתף באתרים אחרים

בתור אחד שנבחן בנושא שבוע הבא, אני חייב לא להסכים, ישנו מספר אינסופי של וריאציות לבעיות קיימות וכן מספר אינסופי של בעיות שעוד לא נחקרו (יש הוכחה לזה... לא ממש רלוונטי) DFS באלגוריתמים זה משהו מאד בסיסי, נעשה בו שימוש בהרבה דברים אבל זה לאו דווקא מגביל את מספר האפשרויות... נתן דוגמא מעולם התכנות, הפונציה (למרות שאני קורה לה יותר syntactic sugar) בשם FOR, תוכל לשאול כמה וויראציות יש על הפונקציה, הרי בספו של דבר כולן עושות איטרציה (על מבנה נתונים או כל דבר אחר) ולמרות זאת מספר השימושים הוא עצום. בנוגע לזה שצריך ללמוד בשביל לכתוב אלגוריתמים, מאד נכון, אלא אם כן אתה גאון. (ורובנו לא אוילר או דיניץ הבא).

מטי.

ואני אמרתי את זה בתור אחד שנבחן בזה ביום ראשון (שהיה)

ופתר כמעט אינספור שאלות, בסוף אם אתה יודע ומכיר הרבה ניאנסים, אין כמעט שום דבר שמפתיע אותך, כי בסוף (תלוי בנושא)

משתמשים בדברים דומים לפתרונות שונים, זה מה שהופך את הכל לאלגנטי, ויחסית פשוט.

אני אמרתי DFS בגלל שזה בסיסי, ועושים בו שימוש בהמון דברים... כנל גם BFS, וכנ"ל FF או DINIC)

קישור לתוכן
שתף באתרים אחרים

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

מטי.

קישור לתוכן
שתף באתרים אחרים

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

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

קישור לתוכן
שתף באתרים אחרים

הבעיה הגדולה, כשנתונה לך בעיה כלשהי, היא לראות את האלגוריתם(הרעיון) שאותו "תסב" לשפת התכנות שבה אתה עובד, ולא ההסבה עצמה.

והאמת היא שגם 1,000,000,000 לא יספיקו לך כי תמיד יכולים להביא לך לפתח אלגוריתם שלא נתקלת בו. פשוט לא פותרים הרבה תרגילים כי זה USELESS.

קישור לתוכן
שתף באתרים אחרים

גישה מעניינת - לא לפתור כי תמיד יכולים להפתיע אותך... אז זהו שלא אם אתה פותר ומתרגל הרבה דברים אתה מתרגל טכניקה ומרגיל את המוח שלך לחשוב כה שכשתקבל את האלגוריתם שעוד לא ראית אתה תוכל לחשוב עליו ולפתור עדיין - תרגול זה חשוב!

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.


×
  • צור חדש...