בשנת 1921 הקים שמואל וואהרמן חנות ספרים בעיר פרנקפורט שבגרמניה יחד עם דודו משה וואהרמן. בשנת 1934, לאחר המלצתו של חיים נחמן ביאליק, עלה שמואל וואהרמן לארץ ישראל, ובה הקים יחד עם ידידו נתן זאב במברגר את חנות הספרים "במברגר את וואהרמן". החנות הוקמה ברחוב המלך ג'ורג' 14 (בית שיבר), ובשנת 1936 עברה לרחוב הסולל (כיום רחוב החבצלת) 5. בזמן הפיגוע ברחוב בן יהודה נפגעו ספרים בחנות. בשנת 1948 נפטר במברגר, ווואהרמן המשיך לנהל את החנות עד פטירתו ב-1961. שנתיים לאחר פטירתו נמכרה החנות לאוניברסיטת קליפורניה שצירפה את ספריה לאוספי האוניברסיטה.
החנות.
החנות התייחדה במכירתם של ספרים עתיקים ונדירים, בין היתר מעזבונות של תלמידי חכמים, והיותה מרכז בינלאומי לספרים יהודיים עתיקים, שמכרה ספרים בין היתר לספריית הקונגרס ולבריטיש מוזיאום. לאורך שנות פעילותה של החנות יצאו לאור 41 קטלוגים של החנות, אשר הכילו בין היתר מידע על ספרים עתיקים שלא ניתן היה להשיגם, או על ספרים שאבדו במהלך השואה. קטלוגים אלו היוו מחירון בינלאומי לספרים עבריים. חנות הספרים הייתה מוסד תרבותי בירושלים בתקופתה, ושימשה מקום מפגש לאנשי רוח וספר. על לקוחותיה נמנו דוד בן-גוריון, שמואל יוסף עגנון, גרשם שלום, הרב יהודה לייב מימון ועוד.
הוצאת הספרים.
מעבר למכירת ספרים, עסקו במברגר ווואהרמן גם בהוצאה לאור של ספרים ישנים במהדורה חדשה ושל ספרים חדשים.
אקטיספון
אקטסיפון
ריקרדו פריירה
ריקרדו דומינגוש ברבוסה פריירה (בפורטוגזית: Ricardo Domingos Barbosa Pereira; נולד ב-6 באוקטובר 1993 בליסבון, פורטוגל) הוא כדורגלן פורטוגלי המשחק בעמדת המגן הימני בקבוצת לסטר סיטי ובנבחרת פורטוגל.
קריירת מועדונים.
ריקרדו נולד בליסבון, בירת פורטוגל, להורים שמוצאם מכף ורדה. הוא החל לשחק כדורגל בגיל צעיר, בקבוצה המקומית פוטבול בנפיקה. ב-2004 החל לשחק בקבוצות הנוער של ספורטינג ליסבון, ובגיל 17 עבר לקבוצת נבאל. שנה לאחר מכן עבר לקבוצת ויטוריה דה גימארייש.
ב-1 באפריל 2012 ערך את הופעת הבכורה שלו, במסגרת ליגת העל הפורטוגלית, בניצחון קבוצתו 1–3 על פאסוס די פריירה. בעונת 2012/2013 סייע לקבוצתו לזכות בגביע הפורטוגלי, כאשר כבש 6 שערים ב-6 הופעות במפעל זה, כולל את שער הניצחון בגמר, מול בנפיקה ליסבון.
ב-16 באפריל 2013, טרם סיום עונת 2012/2013, הגיע ריקרדו לסיכום עם קבוצת פורטו על מעבר אליה, ב-1 ביולי. בתחילת תקופתו בקבוצה דילג דרך קבע בין קבוצת המילואים לקבוצה הבוגרת. תחת המאמן פאולו פונסקה, עבר לשחק בעיקר בעמדת המגן. הופעתו הראשונה במפעל אירופי הגיעה ב-26 באוגוסט 2014, כאשר נכנס כמחליף לקאסמירו בניצחון 0–2 על ליל בשלב הפלייאוף של ליגת האלופות.
בקיץ 2015, לאחר שצבר 33 הופעות בקבוצה הבוגרת של פורטו ב-2 עונות, הושאל ריקרדו לקבוצת ניס הצרפתית לתקופה של שנתיים. הוא ערך את הופעת הבכורה שלו בליגה 1 ב-12 בספטמבר, כאשר שיחק 90 דקות בהפסד הביתי 0–1 לגנגאן.
באפריל 2016 נבחר למגן הטוב ביותר בליגה הצרפתית מטעם המרכז הבינלאומי ללימודי ספורט בצרפת.
בעונת 2017/2018 היה שותף לזכיית פורטו באליפות פורטוגל.
ב-17 במאי 2018 חתם ריקרדו בקבוצת לסטר סיטי האנגלית, בעסקה ששוויה 25 מיליון אירו. הוא ערך את הופעת הפרמייר ליג הראשונה שלו במשחק הפתיחה של עונת 2018/2019 בפרמייר ליג, בהפסד 1–2 למנצ'סטר יונייטד. ביום הולדתו ה-25 כבש את שער הבכורה בלסטר, בהפסד הליגה הביתי 1–2 לאברטון.
נבחרת פורטוגל.
ריקרדו רשם 35 הופעות בנבחרות הצעירות של פורטוגל, וכבש 12 שערים. הוא היה חלק מהגעתה לגמר של נבחרת פורטוגל עד גיל 21 באליפות אירופה עד גיל 21 בשנת 2015. הוא שיחק 4 משחקים בטורניר זה וכבש בניצחון 0–5 על גרמניה בחצי הגמר.
זימון הבכורה שלו לנבחרת הבוגרת הגיע בנובמבר 2015, לקראת צמד משחקי הידידות מול ו. הוא ערך את הופעת הבכורה שלו מול רוסיה, כאשר שיחק 8 דקות בהפסד 0–1 בקרסנודאר.
ריקרדו נבחר על ידי המאמן פרננדו סנטוש לסגל הנבחרת למונדיאל 2018. הוא שיחק את משחקו היחיד בטורניר בהפסד 1–2 ל בשלב שמינית הגמר.
ריקארדו פריירה
עץ WAVL
עץ WAVL (אנגלית - WAVL tree או weak AVL tree) הוא מבנה נתונים במדעי המחשב. זהו עץ חיפוש בינארי ששומר על איזון באופן דינאמי ועצמאי. הוא קרוי על שם מבנה הנתונים AVL ופועל בצורה דומה למבנה זה ולעץ אדום-שחור. בדומה ליתר עצי החיפוש המאוזנים, עץ WAVL תומך בפעולות חיפוש, הכנסה ומחיקה בסיבוכיות זמן formula_1. עצי WAVL הוצגו על ידי חוקרי האלגוריתמים Haeupler, Sen &amp;Tarjan בשנת 2009.
ביצועים.
עצי WAVL פותחו על מנת לשלב את התכונות הטובות של עצי AVL ועצים אדומים-שחורים. יתרון אחד שיש לעץ AVL על פני עצים אדומים-שחורים, הוא שעצי AVL מאוזנים יותר: הגובה שלהם חסום ע"י: formula_2, כאשר formula_3הוא מספר האיברים ו-φ יחס הזהב, בעוד עצים אדומים שחורים חסומים בגובהם על ידי formula_4. אם עץ WAVL נוצר על ידי סדרה של הכנסות איברים בלבד וללא מחיקות אז גובהו הוא כמו זה של AVL. מצד שני, לעצים אדומים-שחורים יש יתרון במספר פעולות האיזון הנמוך שהם דרושים לבצע. לעומת עצי AVL - שמבצעים מספר לוגריתמי של פעולות איזון לאחר מחיקה, עצים אדומים שחורים הם בעלי פעולת מחיקה פשוטה יותר - שדורשת מספר קבוע של פעולות איזון. עצי WAVL הם גם בעלי תכונה זו, ואף הקבוע שמתקיים עבורם הוא קטן יותר.
דרך פעולת העץ.
כמו עצים בינאריים כלליים, עץ WAVL שומר את איברים כאוסף צמתים משני סוגים - פנימיים וחיצוניים. לכל צומת פנימי יש מפתח, והוא מאחסן פריט מידע מסוים. בנוסף לצומת פנימי יש שלושה מצביעים לצמתים אחרים - להורה שלו, לבנו הימני ולבנו השמאלי. שורש העץ הוא יוצא דופן במקרה זה שכן אין לו הורה. לצמתים חיצוניים אין פריטי מידע, ויש להם מצביע אחד להוריהם שבעץ - הם בעצם משמשים כעלים של העץ. בדומה לעץ בינארי, פריטי המידע מסודרים בעץ כך שאם נסרוק אותו בסדר תוכי (in-order traversal) תניב רשימה ממוינת של המפתחות.
מה שמייחד עצי WAVL מעץ בינארי רגיל הוא השימוש בדרגות (ranks). דרגה של צומת, היא מספר שמאחסן כל צומת, והיא נותנת אומדן למרחק בינו ובין הצאצא הכי רחוק שלו. בעץ WAVL תקין הדרגות של כל הצמתים עונות לדרישות הבאות:
פעולת חיפוש.
חיפוש איבר עם מפתח k בעץ WAVL זהה כמעט לחלוטין (אולי למעט התייחסות לעלים חיצוניים) לחיפוש בעץ בינארי רגיל. הפעולה מתחילה בשורש של העץ - בצורה רקורסיבית משווים בין k לבין המפתח בצומת אליו הגענו - אם הם שווים - סיימנו, אחרת, k אותו אנחנו מחפשים נמצא בתת-העץ הימני אם הוא גדול מהמפתח בצומת, או בתת-העץ השמאלי אם קטן ממנו. אם לא נמצא צומת בעל מפתח k, החיפוש מסתיים בעלה חיצוני. משמעות מקרה זה היא ש-k לא נמצא בעץ, והעלה החיצוני בו סיימנו הוא המיקום בעץ אליו k יכנס (אם תבוצע פעולת הכנסה כזו).
פעולת הכנסה.
הכנסת המפתח k לעץ WAVL מבוצעת באופן הבא:
איזון העץ לאחר ההכנסה יכול להתבצע מלמעלה למטה (up-down rebalancing) או מלמטה למעלה (down-up rebalancing). השיטה השנייה דומה יותר לאיזון עצי AVL. הפעולה הראשונה באיזון העץ לאחר ההכנסה, היא השמת דרגת הצומת החדש, שנכנס כ"עלה פנימ", כ-1, ולאחר מכן עלייה לאורך הדרך בין כל צומת לאביו, ובמקרה הצורך - אם לצומת ולאביו אותה דרגה - הגדלת הדרגה של האב ב-1 (קידום), עד שנגיע לאחד מתנאי העצירה הבאים:
לכן בסה"כ, פעולת ההכנסה מורכבת מחיפוש, יצירת צומת חדש, מספר לוגריתמי של שינויי דרגות, ומספר קבוע של גלגולים.
פעולת מחיקה.
כמו בעצים בינאריים אחרים, פעולות מחיקה על צומת formula_13 שבן אחד או שניים שלו הם עלים חיצוניים יכולות להתבצע ישירות על ידי הסרת formula_13 מהעץ, וחיבור מחדש בנו (אם קיים כזה) להורה של formula_13. אם שני הבנים של formula_13הם צמתים פנימיים, נשים במקום formula_13את העוקב שלו בעץ (האיבר בעל המפתח העוקב - successor), ונמחק את העוקב. פעולה זו תצליח כיוון שבנו השמאלי של העוקב formula_9הוא עלה חיצוני (אם היה לו בן שמאלי פנימי אז הבן היה העוקב).
לאחר כל אחד משני המקרים שלעיל, מכיוון ששינינו את מבנהו של העץ, יש לבצע איזון מחדש שלו. כמו במקרה ש להכנסה, ניתן לבצע זאת על ידי עלייה לאורך העץ והורדה ב-1 של הדרגות לאורך הדרך, עד שמגיעים לאחד משלושת המצבים האפשריים הבאים:
כלומר בסה"כ, בצורה דומה להכנסה, פעולת המחיקה מהעץ מורכבת מחיפוש (ואולי המשך של חיפוש העוקב), הסרה של הצומת מהעץ, מספר לוגריתמי של שינויי דרגות, ומספר קבוע של גלגולים. באופן שונה מעץ AVL, פעולות איזון בצורת גלגול הן סופיות, ולכן עבור שני עצים זהים, אחד מהם AVL והשני WAVL, השני עשוי לאזן את עצמו הרבה יותר מהר.
ניתוח סיבוכיות.
כל פעולת חיפוש, הכנסה או מחיקה בעץ WAVL, מכילה מעבר לגובהו של העץ, וביצוע מספר קבוע של פעולות בכל צומת בדרך. בעץ WAVL עם formula_3 איברים בעל פעולות הכנסה בלבד, הגובה המקסימלי הוא formula_22. עבור עץ שמאפשר גם מחיקות וגם הכנסות, הגובה המקסימלי הוא formula_4. לכן בשני המקרים, הסיבוכיות במקרה הגרוע (worst-case) עבור חיפוש, הכנסה או מחיקה היא formula_1. יתר על כן, היתרון הגדול של עץ WAVL על מספר עצים בינאריים אחרים, הוא שהסיבוכיות של פעולות האיזון בניתוח לשיעורין הוא formula_25, כלומר עבור סדרת פעולות, במקרה הגרוע הסיבוכיות ממוצעת לפעולה תהיה קבועה. יתר על כן, בהינתן מצביע לצומת אותו רוצים להכניס או למחוק, כלומר במקרה בו לא צריך לבצע חיפוש, גם פעולות ההכנסה והמחיקה תהיינה בסיבוכיות זו.
מבני נתונים קרובים.