02-04-2011, 20:13
|
|
|
|
חבר מתאריך: 08.02.06
הודעות: 941
|
|
אז בהנחה שהמספרים מסודרים לפי סדר עולה או יורד,
נניח יש 7 מספרים בין רנדומאלים 1-9 במערך, מסודרים בסדר עולה 1 3 5 5 7 9 9
המשתמש מכניס את המספר 5, ע"פ סיבוכיות logN, כפי שאמרת, (אגב רק הערב התחלתי לקרוא על סיבוכיות ועל חיפוש בינארי). אז ע"פ סיבוכיות logN, באינדקס 3 נמצא 5, אך אנחנו רוצים את הראשון ברשימה, ובמקרה שלנו יש שם פעמיים 5, אם כך, האם התוכנית תחדל? או האם היא תצטרך במקרה הזה לבדוק גם מימינה וגם משמאלה? כי באותו אופן במקום הספרה 7 היה יכול להיות עוד 5 או שכל המספרים שם היו יוצאים 5 (ברנדומאליות..)
אגב, התחלתי להסתכל על התוכנית שכתבת, ומס' שאלות לגבי כמה דברים:
מה זה:
קוד:
int BinarySearch(arr a,int x)
מאיפה הגיע המשתנה floor בתחילת התוכנית?
מה בדיוק הוכפל שם? מה זה a?
זה כמה שאלות התחלתיות כדי להבין מה אני קורא שם, תודה!
אגב, אני חדש (יחסית) בתיכנות, משתדל ללמוד כמה שיותר, החלטתי להתחיל בג'אווה כי יש לי מעט היכרות מהתיכון, אודה לכם אם תפנו אותי לתרגילים בתחום (ואם מצורף תשובות אז עוד יותר טוב).
תודה.
_____________________________________
Bad Spellers Unite!
|