הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   הצעות לתיקון שגיאות (https://hosts.co.il/forums/showthread.php?t=41813)

sUP 19-03-07 10:15

הצעות לתיקון שגיאות
 
יש פונקציה בשם levinshtein שמציעה מתוך מאגר משהו שהכי קרוב לסטרינג X
http://il2.php.net/manual/en/function.levenshtein.php

עכשיו יש 2 בעיות

1. זה צריך לעבור על כל החלקים שזה כבר בזבוז משאבים
2. זה מציע רק פתרון אחד

אם יש רעיונות אני אשמח
|כן|

eLad 19-03-07 11:45

1. אתה מכיר שיטה יותר טובה מאשר ללעבור על כל המערך?
שני דברים שאני יכול לחשוב עליהם:
א. למיין את המאגר - מהסיבות המובנות, אני מניח
ב. אפשר להוסיף תנאי עצירה כשמוצאים exact match כי אחרת תמיד תהיה האופציה שהערך האחרון במאגר הוא מה שאתה מחפש.


בדר"כ כשמבצעים חיפוש בודקים שני דברים בלולאה,
1. האם מצאנו את הערך שחיפשנו?
2. האם הגענו לסוף המאגר?

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

בתוך הלולאה נשארה לך רק בדיקה 1.

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

אל תשכח לנקות בסוף את הערך שהוספת..

sUP 19-03-07 17:19

לא הבנתי כלום חוץ מ ב' שזה ברור שעשיתי
אתה יכול להסביר שוב?

תודה


כל הזמנים הם GMT +2. הזמן כעת הוא 15:21.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ