ABA


"אני מחפש אחרי אלגוריתם מסויים,"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10221 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10221
akoka2

דרג אמינות חבר זה
   14:20   07.01.11   
אל הפורום  
  אני מחפש אחרי אלגוריתם מסויים,  
 
   ערכתי לאחרונה בתאריך 07.01.11 בשעה 14:27 בברכה, akoka2
 
אני בטוח שיש משהו בסגנון שיעבוד בצורה יעילה.

יש לי 2 מערכים.

כול מערך מחזיק עד 20 מילים שונות.

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

למשל אם במערך אחד יש את המילה idiot ובמערך אחר יש את המילה asshole אז אחוז השינוי הוא 100%.

עכשיו יכול להווצר מצב שבמערך מסויים יהיו 10 מילים ובמערך אחר תיהיה מילה אחת, אז בוחרים את המערך הגדול בתור ה100% ואם המילה תיהיה ברשימה אז ההבדל יהיה 10%.

עכשיו אין לי בעיה לרוץ על 2 המערכים במקביל, ולספר את ההבדלים בניהם, ולעשות x/y * 100 אבל זה לא כזה יעיל מבחינתי, כי אני עובד עם קבצים, אני ויכול לקבל 3000 קבצים, שכול קובץ יכיל 20 תגים בתוכו, וזה יתחיל לעבוד לי לאט.

אם יש למישהו פתרון מתמטי יעיל או מאמרים בנושא, אני אשמח:P

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

idiot asshole
asshole idiot

אין שום דרך יעילה למיין את זה, אני יכול להשתמש בquicksort מובנה למילים, אבל זה יעבוד רק על אנגלית, ואני תומך בכול שפה אפשרית.

הדרך היחידה היא להפוך את המחרוזות לאיזה משהו גנרי.


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  יש אלגוריתם תכנות דינמי שמוצא ''מרחק'' בין מחרוזות Zippo  07.01.11 15:05 1
     אני מכיר את זה, akoka2 07.01.11 15:17 2
  תנסה את האלגוריתם הבא Net_Boy  07.01.11 15:50 3

       
Zippo 
חבר מתאריך 26.5.02
7921 הודעות, דרג אמינות חבר זה
   15:05   07.01.11   
אל הפורום  
  1. יש אלגוריתם תכנות דינמי שמוצא ''מרחק'' בין מחרוזות  
בתגובה להודעה מספר 0
 
Edit-Distance
http://en.wikipedia.org/wiki/Levenshtein_distance
בגלל שיש לך מערך של מחרוזות, אולי תוכל להשתמש במטריצה תלת-מימדית באותו אופן, במקום במטריצה רגילה.
(אני מניח שזה ידרוש קצת תחכום...)


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

דרג אמינות חבר זה
   15:17   07.01.11   
אל הפורום  
  2. אני מכיר את זה,  
בתגובה להודעה מספר 1
 
   אבל זה טיפה בוגד בי אם 2 המחרוזות הן בעצם אותו דבר רק המיקום של המילים הוא שונה.

מה שכן עשיתי זה, השתמשתי בnatural sort כדי למיין את 2 המערכים, לאחר מכן אני פשוט מבצע השוואה בין 2 המערכים, ועושה כמה חישובים מתמטיים, ומקבל את האחוז.

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק, 2 נקודות
   15:50   07.01.11   
אל הפורום  
  3. תנסה את האלגוריתם הבא  
בתגובה להודעה מספר 0
 
   http://www.catalysoft.com/articles/StrikeAMatch.html

תגיד לי עד כמה זה עזר לך


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

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

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



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