ABA


"הסטודנטים בהנדסת תוכנה/מדעי המחשב להיכנס ..."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #8680 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 8680
zeevlevi

   09:48   29.12.02   
אל הפורום  
  הסטודנטים בהנדסת תוכנה/מדעי המחשב להיכנס ...  
 
   עבר עריכה לאחרונה בתאריך 29.12.02 בשעה 09:49
 
אחים שלי קיבלתי פרוייקט במבנה נתונים ואני צריך עזרה ורעיונות לדרכי פעולה אז אם יש כאן אנשים שמוכנים לעזור הנה הפרוייקט:

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

תיאור הפרוייקט :
התוכנית תקבל כקלט קובץ TEXT ובו מאופסן ספר דפי זהב התחלתי שבו לכל שורה יהיה המבנה הבא :

city ; category; business name ; tel number ; open text

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

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


אשמח עם תעזרו לחי בפרוייקט הזה

תודה מראש,
הסטודנט המודאג

http://planet.nana.co.il/royisign/DR.SOCCER.gif


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  סתכל Cd-Writer 29.12.02 10:05 1
     אסור לעשות ב-ACCESS zeevlevi 29.12.02 10:07 2
  לא נתנו לך דרישות סיבוכיות?! dryice 29.12.02 11:07 3
     ב O של 1 ?? no1 29.12.02 15:02 4
         וזה נראה לי מספיק. dryice 29.12.02 18:36 5
             אני צריך zeevlevi 29.12.02 21:46 6

       
Cd-Writer

   10:05   29.12.02   
אל הפורום  
  1. סתכל  
בתגובה להודעה מספר 0
 
   אם אתה רוצה לעשות את זה בקובץ טקסט ואתה רוצה שזה יהיה מהיר
אני מציע לך לטעון את הקובץ לזיכרון
אבל אם הקובץ גדול מאד זה יוצר בעיה
אז כדאי לך לעשות מסד נתונים באקסס
ולחפש עם משפט SQL
זה הכי טוב
בהצלחה
ואם אתה צריך עזרה, אל תהסס לשאול בפורום


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
zeevlevi

   10:07   29.12.02   
אל הפורום  
  2. אסור לעשות ב-ACCESS  
בתגובה להודעה מספר 1
 
   כי שם אתה לא בונה את המבנה נתונים שם אתה מקבל אותו מהתוכנה !


http://planet.nana.co.il/royisign/DR.SOCCER.gif


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

   11:07   29.12.02   
אל הפורום  
  3. לא נתנו לך דרישות סיבוכיות?!  
בתגובה להודעה מספר 0
 
   כי הרי בלי שום דרישות על סיבוכיות זה טריוויאלי.

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

אם אתה בונה את זה כFLAT-LIST אז זה הכי פשוט, ואתה ניגש לכל
דבר בזמן O(N)
אתה יכול להחליט למיין לפי אחד מהערכים ואז אליו תיגש בO(logN) זמן,
ולאחרים תיגש ב O(N)

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

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

DRYICE

נ.ב
ליעילות הזאת אי אפשר לחלום להגיע אל בACCESS או כל מסד נתונים מן המוכן
אחר.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
no1

   15:02   29.12.02   
אל הפורום  
  4. ב O של 1 ??  
בתגובה להודעה מספר 3
 
   עבר עריכה לאחרונה בתאריך 29.12.02 בשעה 15:08
 

שים לב ששימוש בטבלת ערבוב עובד בתוחלת של O של 1 ולא בחסם אמיתי של O של 1.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

   18:36   29.12.02   
אל הפורום  
  5. וזה נראה לי מספיק.  
בתגובה להודעה מספר 4
 
   למעשה, אפשר לטעון משהוא יותר חזק:
לא רק שהתוחלת של כל גישה היא O(1) הגישה היא amortized O(1)

וזה לא רק שהתוחלת קטנה, אלא גם ההסתברות לחרוג ממנה היא מאוד
קטנה. תנסה לחשב בהינתן טבלה בגודל N שאליה אני מכניס N נתונים,
מה ההיסתברות שלk נתונים או יותר יהיה ערך ערבול זהה לערך שאני מחפש?

תשובה:
p11
(1/N)^k * (N!/(k!*(N-k)!)
p22
ואם נכניס קצת מספרים אם N הוא 1000 הסיכוי שHASH BUCKET מסוים יהיה
בגודל 6 או יותר הוא בערך פרומיל.

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
zeevlevi

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

http://planet.nana.co.il/royisign/DR.SOCCER.gif


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net