כי הרי בלי שום דרישות על סיבוכיות זה טריוויאלי.אם אנחנו סתם רוצים ליעל אז יש דילמה, שכן פה אנו שמים לב
לTRADEOFF, בין זמן למקום.
אם אתה בונה את זה כFLAT-LIST אז זה הכי פשוט, ואתה ניגש לכל
דבר בזמן O(N)
אתה יכול להחליט למיין לפי אחד מהערכים ואז אליו תיגש בO(logN) זמן,
ולאחרים תיגש ב O(N)
וכן אפשר לעשות טבלאות עירבול וזה מה שאני ממליץ, אתה בונה
3 טבלאות ערבול: לפי שם, לפי עיר, ולפי סיווג.
הטבלאות יפנו לרשימה מקושרת של איברים שמתאימים לאותו ערך
אבל שים לב לתיחכום אנחנו משלבים את כל הרשימות יחד.
לרשומת מידע שלנו שמכילה מידע על עסק, נוסיף 3 מצביעי next,
(ורצוי גם 3 prev שיהיה דו כיווני).
כך אנו לא משכפלים מידע ושום שדה מידע לא מופיע במערכת פעמיים
ואילו אנו מבצעים את כל הפעולות בזמן O(1) וכמובן אין טוב מזה.
DRYICE
נ.ב
ליעילות הזאת אי אפשר לחלום להגיע אל בACCESS או כל מסד נתונים מן המוכן
אחר.