מיון שייקר, הידוע גם בשם מיון בועות דו כיווני, מיון קוקטייל, מיון מרטיני, שייקר סוג (אשר יכול להתייחס גם גרסה של בחירת סוג), מיון אדווה, מיון דשדוש דשדוש, או מיון הסעות, הוא וריאציה של מיון בועות שהוא גם אלגוריתם מיון יציב וגם מיון השוואתי. האלגוריתם נבדל ממיון בועות בכך שהוא ממיין לשני הכיוונים בכל מעבר על הרשימה. אלגוריתם מיון זה הוא רק מעט יותר קשה ליישום מאשר מיון בועות, ופותר את הבעיה של "צבים" בתוך מיון בועות. המיון מספק שיפור זמן ריצה שולי בלבד, והסיבוכיות שלו זהה לזו של מיון בועות; כמו מיון בועות, המיון אינו בשימוש מעשי (מיון הכנסה מועדף במיונים פשוטים), אך יש לו שימושים בלימוד.
פסאדו קוד.
הצורה הכי פשוטה עוברת על כל הרשימה בכל פעם:
procedure cocktailShakerSort( A : list of sortable items ) defined as:
swapped := false
for each i in 0 to length( A ) - 2 do:
if A[ i ] &gt; A[ i + 1 ] then // test whether the two elements are in the wrong order
swap( A[ i ], A[ i + 1 ] ) // let the two elements change places
swapped := true
end if
end for
if not swapped then
// we can exit the outer loop here if no swaps occurred.
break do-while loop
end if
swapped := false
for each i in length( A ) - 2 to 0 do:
if A[ i ] &gt; A[ i + 1 ] then
swap( A[ i ], A[ i + 1 ] )
swapped := true
end if
end for
while swapped // if no elements have been swapped, then the list is sorted
end procedure
המעבר הראשון ימינה יעביר את האיבר הגדול ביותר למקומו בסוף הרשימה, והמעבר אחריו שמאלה יעביר את האיבר הקטן ביותר למקומו בתחילת הרשימה. המעבר המלא הנוסף יעביר את האיבר השני הכי גדול והאיבר השני הכי קטן למקומם, וכן הלאה. אחרי i מעברים, האיבר ה-i מההתחלה והאיבר ה-i מהסוף יהיו במקומם, ולא צריכים שיבדקו אותם. על ידי קיצוץ החלק ברשימה שכבר מוין, מספר הפעולות יכול לקטון בחצי (עיין בערך מיון בועות).
הבדלים ממיון בועות.
מיון שייקר הוא וריאציה קלה של מיון בועות. הוא שונה בכך שבמקום לעבור על הרשימה מלמטה למעלה, הוא עובר לחלופין מלמטה למעלה ומלמעלה למטה. הוא יכול להשיג ביצועים מעט יותר טובים ממיון בועות רגיל. הסיבה לכך היא שמיון בועות עובר על הרשימה רק בכיוון אחד ולכן יכול להעביר איברים אחורה רק צעד אחד בכל פעם.
דוגמה לרשימה שמראה את הנקודה הזו היא הרשימה {2,3,4,5,1}, שתצטרך רק מעבר אחד של מיון שייקר, אבל במיון בועות רגיל תזדקק לארבעה מעברים. אולם מעבר אחד של מיון שייקר צריך להיספר כשני מעברים של מיון בועות. בדרך כלל מיון שייקר הוא פחות מפי שניים יותר מהיר ממיון בועות.
אופטימיזציה נוספת יכולה להיות בכך שהאלגוריתם יזכור איפה הייתה ההחלפה האחרונה. במעבר הבא, לא יהיו החלפות מעבר לנקודה זו והמעבר יהיה קצר יותר. לאחר שמיון שייקר עובר לשני הכיוונים, הטווח של ההחלפות האפשריות, שהוא הטווח עליו צריך לעבור, יקטן בכל מעבר, וכך יקטין את זמן הריצה במעט.
סיבוכיות.
הסיבוכיות של מיון שייקר בסימון אסימפטוטי הוא formula_1 במקרה הגרוע ובמקרה הממוצע, אבל הוא מתקרב ל formula_2 אם הרשימה ברובה ממוינת לפני ביצוע המיון. לדוגמה, אם כל איבר נמצא במקום ששונה בלא יותר מ-k (k ≥ 1) מהמקום בו הוא יסיים, הסיבוכיות של המיון הופכת להיות formula_3.
מניעת התאבדות
מניעת התאבדות הוא מונח כללי המשמש אנשי מקצוע במקצועות הרלוונטיים, המתייחס לדרכים בהן ניתן להפחית את השכיחות של אובדנות. מעבר להתערבויות ישירות המיועדות לעצור התאבדות בטווח המידי, המונח מתייחס גם למניעת התאבדות בטווח הרחוק, על ידי טיפול בסימפטומים פסיכולוגיים ופסיכו-פיזיולוגיים של דיכאון, שיפור אסטרטגיות התמודדות של אנשים ששוקלים התאבדות ברצינות, ומניעה או הפחתה מחומרתם של מצבים שנחשבים כמהווים גורמי סיכון להתאבדות, וכדומה. בישראל, לדוגמה, מתאבדים מדי שנה כ-500 בני אדם, וברחבי העולם כ-1 מיליון. הציפייה היא להקטנת מספרים אלו על ידי הגברת המאמצים בתחום זה.
מניעת התאבדות כוללת אמצעי מניעה פרואקטיביים בתחומים של רפואה, בריאות הנפש, בריאות הציבור ותחומים משיקים. משום שגורמי סיכון שעלולים לגרום לאדם ליטול את חייו קשורים לנושאים שונים ורבים, כמו תמיכה חברתית, גישה לאמצעים קטלניים, וכדומה, הנושא אינו מטופל אך ורק כסוגיה רפואית או נפשית, אלא בקרב כל הגורמים שיכולים להיות קשורים לנושא. בישראל, לדוגמה, הוקמה המועצה הלאומית למניעת אובדנות בהובלת משרד הבריאות ששותפים בה משרדים וארגונים מתחומים רבים ושונים, כמו משרד החינוך, משרד הרווחה, משרד העלייה והקליטה, צה"ל, אנשי אקדמיה ומחקר, ועוד.
היסטוריה.
אף שהתאבדות היא תופעה אנושית המוכרת כבר מתקופות קדומות מאוד, התפיסה לפיה ניתן לפעול כדי למנוע התאבדות, היא תפיסה חדשה יחסית בת עשרות שנים בלבד. עם זאת, הטיעונים המוסריים השוללים התאבדות והמצדדים במניעתה היו קיימים עוד טרם התפתחה התפיסה לפיה ניתן למנוע התאבדות. התפתחות התפיסה לפיה ניתן למנוע התאבדות קשורה לשני שינויים עיקריים בהבנת התאבדות: ראשית, התאבדות מתרחשת כמעט תמיד בתוך הקשר חברתי כלשהו. שנית, החברה בה חי האדם יכולה לנקוט בצעדים שונים כדי להקטין את הסיכון להתאבדות של פרטים בתוכה.
צידוקים מוסריים וערכיים למניעת התאבדות.
ובחרת בחיים (מניעים דתיים).
יחס היהדות להתאבדות בימי המקרא נגזר מהפסוק "שופך דם האדם באדם דמו יישפך". כלומר התאבדות נתפסה כסוג של רצח.  מימי הביניים ואילך הפך יחס היהדות להתאבדות להיות פחות גורף. יחס הנצרות להתאבדות מודגם בקאנטו 11 ב"התופת", (החלק הראשון בקומדיה האלוהית, של דנטה אלגיירי) שם מתוארים מתאבדים כמי שהפכו לעצים המעוטרים בקוצים נוטפים ארס. המקורות הדתיים לא דיברו במושגים של נקיטת צעדים אקטיביים למניעה של התאבדות, אך עם זאת לעצם השלילה המוסרית של המעשה והתפיסה לפיה מעשה ההתאבדות מבטא כפירה בעקרונות הדת הייתה השפעה מניעתית מסוימת.
צידוקים חברתיים.
החל מתקופת "האמנה החברתית" לרוסו התעצבו נימוקים הומניסטיים, המדגישים את מחויבותה של חברה לכבודו של אדם ולחייו, זאת אפילו בנסיבות בהן האדם מוותר מרצונו על זכויות אלה במאה ה-20 עבר בהדרגה מרכז הכובד מהענשת המנסים להתאבד להגנה על חייהם.
אמיל דורקהיים (Durkheim, 1952)  בחיבורו המפורסם על התאבדות מציג טקסונומיה ראשונית לסיבות להתאבדות. היה זה אחד החיבורים המדעיים הראשונים שהצביעו על כך שלהתאבדות יש סיבות שמקורן בחברה או ליתר דיוק ביחסי הגומלין בין החברה לאדם הבודד. לפי חיבור זה  שורשי המעשה האובדני נעוצים לא רק באדם המתאבד עצמו אלא גם במאפייני החברה בה הוא חי, וביחסי הגומלין שלו עם חברה זו. במדינות שונות ובחברות שונות נתפסה ההתאבדות כצורה של הפרעה לסדר החברתי בהתאם לכך נקבעו למנסים להתאבד עונשים שונים שהשתנו ממדינה למדינה. גם בארץ ישראל של ימי המנדט הבריטי היה קיים חוק כזה. זהו הסבר חלקי לכך שהמשטרה בישראל מעורבת לפעמים במניעת התאבדויות.
צידוקים כלכליים.
תפיסת ההתאבדות כתופעה בעלת משמעות כלכלית היא תפיסה חדשה יחסית של עשרות השנים האחרונות, והיא חלק מתפיסה לפיה למחלות גוף ונפש יש משמעות מבחינת הנטל הכלכלי הגלום בהן. הצטברות ידע אפידמיולוגי אודות מתאבדים והתאבדויות אפשר ללמוד אודות המשמעויות הכלכליות של התאבדויות. לפי נתוני ארגון הבריאות העולמי (2004) קבוצת הגיל בה ההתאבדות שכיחה ביותר ברבות ממדינות העולם היא 15-55. כיוון שברוב חברות העולם זוהי גם קבוצת הגיל היצרנית ביותר, הרי שמשמעות הדבר היא שהתאבדות גורמת להפסד בתוצר. אם מוסיפים את הפגיעה בשאירי התאבדות ההפסד גדל אף יותר. היו מי שעבורם היה די בכך כדי לקרוא לנקוט בפעולות אקטיביות של מניעת התאבדות.
מניעת התאבדות כחלק ממדיניות קידום בריאות.
הרעיון לפיו אפשר וצריך לעשות צעדים כדי לקדם בריאות נפשית וגופנית התרחב במהלך המאה ה-20 והחל בהדרגה לכלול גם את ההתאבדות. עם זאת יוזמות מקומיות שונות למניעת התאבדות התפתחו במקומות שונים בעולם עוד קודם לכן, גם בלא הכוונה של קובעי מדיניות בריאות וללא תקצוב מסודר של תוכניות מניעה.
סוגי מניעה.
בעולם הרחב התפתח מגוון רחב של אמצעים למניעת התאבדות. חלק מהאמצעים הללו מכוון לקבוצת גיל מסוימת (למשל נוער) או לקבוצת אוכלוסייה בסיכון גבוה כמו שארי התאבדות. חלק מהשיטות למניעת התאבדות ממוקד בהעברת מסרים הפונים ספציפית לתרבות מסוימת. במקובל לחלק את האסטרטגיות למניעת התאבדות לשלוש רמות: מניעה ראשונית, שניונית ושלישונית.
מניעה שניונית.
מניעה שניונית מתמקדת בקבוצות שונות הנמצאות בסיכון באוכלוסיית המדינה, זאת בהסתמך על סקרים אפידמיולוגים הנערכים מעת לעת, ובהסתמך על ידע מחקרי מהעולם. בין קבוצות הסיכון המוגבר להתאבדות: מהגרים, פליטים, אנשים החיים בעוני חמור, אנשים הסובלים ממחלות כרוניות (בעיקר סופניות), אנשים שחוו אובדן משמעותי (של מעמד, רכוש, חיי אדם, וכדומה), קורבנות עבירה, אנשים בודדים, אנשים השייכים לקבוצות מיעוט כמו להט"ב, שארי התאבדות ואנשים שניסו בעבר להתאבד (מניעה בשתי קבוצות אלה נקראת באנגלית Postvention). מניעה שניונית תתמקד במתן שירותים לאחת מקבוצת אלה או אחרות. בישראל פועלת עמותת בשביל החיים, הפועלת למען מי שיקיריהם התאבדו ולמניעת התאבדות. עוד דוגמה למניעה שניונית היא תוכנית 'מיתרים', תוכנית טיפולית ויעוצית שמפעילה עמותת אנוש, כחלק מהתוכנית הלאומית למניעת אובדנות של מדינת ישראל.
מניעה שלישונית.