בשנת 2001 יירט מסוק AH-64A אפאצ'י "פתן" מטוס מסוג ססנה של בית הספר הלבנוני לטיסה, לאחר שהמטוס חדר בטעות לישראל. זו הייתה ההפלה הראשונה, לאחר אימונים רבים, של מטוס על ידי מסוק בהיסטוריה של חיל-האוויר הישראלי, וההפלה הראשונה של מטוס על ידי מסוק אפאצ'י מאז ומעולם.
ב-20 ביולי 2006, במהלך מלחמת לבנון השנייה, התנגשו שני מסוקי אפאצ'י של חיל האוויר באזור רמות נפתלי. אחד מהטייסים, רס"ן , נהרג ושלושה נפצעו קשה. התאונה אירעה ככל הנראה בשל טעות אנוש. שלושה ימים לאחר מכן, ב-24 ביולי, התרסק מסוק אפאצ'י מדגם "שרף" ליד כרם בן זמרה בגליל ושני טייסיו, אל"ם וסגן , נהרגו. התאונה נגרמה בשל תקלה טכנית שגרמה להינתקות הרוטור הראשי מגוף המסוק ולהתרסקותו.
ב-20 במרץ 2014 הוצאו משירות מסוקי ה-AH-1 קוברה "צפע" האחרונים של חיל האוויר, ומסוקי האפאצ'י נותרו מסוקי הקרב היחידים בשירות חיל האוויר הישראלי.
במאי 2017 הוחלט על קרקוע מערך האפאצ'י בשל סדק שהתגלה באחד מלהבי רוטור הזנב של אחד המסוקים. זמן קצר לאחר ביטול הקרקוע וחזרת המסוקים לשירות, אירעה ב-7 באוגוסט 2017 תאונה קטלנית בבסיס רמון, במהלכה התרסק מסוק אפאצ'י של טייסת 190. אחד מהטייסים, רס"ן , נהרג. הטייס השני, סגן און, נפצע קשה. התאונה קרתה בשל תקלה במוט ההיגוי שלא היה מותקן כנדרש והתנתק ממקומו בזמן הטיסה. סגן אור חזר לשירות לאחר שהיה פצוע אנוש. התאונה קרתה בגלל כשל אחזקתי. לאחר התאונה הוחלט שוב על קרקוע המערך, עד לבירור נסיבות התאונה.
בעקבות התקלה החליט חיל האוויר לעצור רכישת שישה מסוקים נוספים מדגם D עד להשלמת הבדיקות. לאחר תהליך שנמשך כמה חודשים הוטמעו בחיל האוויר נהלים האמורים למנוע תאונה נוספת ממין זה, והמערך שב לפעולה מלאה.
במהלך העימות האווירי בין ישראל לסוריה ואיראן בפברואר 2018 יירט מסוק "שרף" של טייסת 113 כטב"ם איראני שחדר לישראל. הייתה זו הפלת הבכורה של האפאצ'י לונגבו בחיל האוויר הישראלי, וככל הנראה גם בעולם.
מצרים.
מצרים הביעה עניין במסוק כבר לאחר מלחמת המפרץ. ב-1995 הזמין חיל האוויר המצרי 36 מסוקי אפאצ'י מדגם A, שהיו מצוידים במערכות אוויוניקה זהות למסוקים של צבא ארצות הברית, למעט מערכות הקשר שהיו מתוצרת מקומית. בשנת 2000 הודיעה חברת בואינג על קבלת הזמנה לשדרג את צי המסוקים המצרי לדגם D למעט מכ"ם הלונגבאו, שאספקתו למצרים סורבה על ידי ממשלת ארצות הברית. ב-2009 ביקשה מצרים 12 מסוקים נוספים מדגם D, בלוק II.
באוגוסט 2012 החל הצבא המצרי במבצע רחב היקף שנועד להשתלט מחדש על חצי האי סיני מידיהם של חמושים מארגונים איסלמיים שונים. מסוקי האפאצ'י של חיל האוויר המצרי סיפקו סיוע אווירי במהלך המבצע. על פי דיווחים שונים השמידו המסוקים שלושה כלי רכב ופגעו בכ-20 חמושים. כמה מסוקי אפאצ'י מצריים הוצבו בסיני, בהסכמתה של ישראל. ביולי 2015 טען ארגון דאעש כי הצליח לפגוע בשני מסוקי אפאצ'י מצריים. בספטמבר 2015 תקף מסוק אפאצ'י מצרי קבוצה של תיירים במערב חצי האי סיני. בהתקפה נהרגו 12 בני אדם ונפצעו 10. שר הפנים המצרי אמר שההתקפה נעשתה בשל זיהוי מוטעה של התיירים כחמושים, ואירעה בשל כניסת התיירים לשטח ביטחוני סגור.
בנובמבר 2018 אישרה מחלקת המדינה של ארצות הברית מכירת 10 מסוקי אפאצ'י AH-64E וציוד נלווה למצרים. העסקה היא בהיקף מיליארד דולר.
ערב הסעודית.
לאחר מלחמת המפרץ הראשונה, בשנת 1991, שבה הופעלו מסוקי אפאצ'י באופן נרחב על ידי צבא ארצות הברית, רכשה סעודיה 12 מסוקים מדגם A עבור צבא היבשה המלכותי הסעודי. באוגוסט 2006 החלה ערב הסעודית במשא ומתן לשדרוג מסוקי האפאצ'י שלה לרמה של דגם D, בעסקה שהיקפה אמור היה להגיע ל-400 מיליון דולר. בספטמבר 2008 אישרה ממשלת ארצות הברית בקשה סעודית לרכוש 12 מסוקים מדגם AH-64D. ב-20 באוקטובר 2010 הודיעה הסוכנות לשיתוף פעולה ביטחוני (Defense Security Cooperation Agency, DSCA, חלק ממחלקת ההגנה של ארצות הברית) על עסקה אפשרית עם ערב הסעודית בהיקף משוער של 25.6 מיליארד דולר, הכוללת, בין השאר, 36 מסוקי AH-64 בלוק III.
בנובמבר 2009 החל צבא היבשה המלכותי הסעודי במתקפה נגד המורדים החות'ים בתימן, בעקבות חדירות של החות'ים לשטח סעודיה. חדירות החות'ים באו לאחר שבאוגוסט 2009 פתח צבא תימן פתח במתקפה כנגד מעוזי החות'ים במחוז צעדה, בצפון מזרח המדינה. הלחימה זלגה לתוך תחומי סעודיה, לאחר שחות'ים האשימו את הסעודים כי הם מאפשרים לצבא תימן לתקוף אותם מתוך שטח סעודיה. בינואר 2010 טענו החות'ים כי הצליחו להפיל מסוק אפאצ'י סעודי, אך הסעודים הכחישו את הטענה. בסוף החודש הודיעו החות'ים על נסיגתם מהשטח הסעודי.
במרץ 2015 החל כוח משולב של מדינות המפרץ, בהובלת סעודיה, להתערב בהסלמה במלחמת האזרחים בתימן. מסוקי אפאצ'י של ערב הסעודית ושל איחוד האמירויות הערביות הופעלו במהלך הקרבות מול המורדים החות'ים ואלמנטים של צבא תימן שנותרו נאמנים לנשיא הקודם, עלי עבדאללה סאלח. במהלך שנות העימות אבדו מספר מסוקי אפאצ'י בתאונות ומאש אויב, אם כי אין מידע מאומת על המספרים המדויקים.
פתן (מסוק)
חיפוש בינארי
חיפוש בינארי (ידוע גם בשם אריה במדבר) הוא אלגוריתם לחיפוש, כלומר למציאת מקומו של איבר במערך ממוין. סוג החיפוש הנ״ל נקרא ״בינארי״ מכיוון שהאלגוריתם מחפש או בצד הימני או בצד השמאלי של המערך. ישנם רק 2 מקרים אפשריים, ולכן החיפוש "בינארי״.
מטרה.
נתון מערך ממוין בגודל formula_1, ויש למצוא את מקומו של איבר מסוים במערך. במעבר סדרתי על איברי המערך נמצא את מיקום האיבר בסיבוכיות formula_2. חיפוש בינארי מאפשר למצוא את מיקום האיבר בסיבוכיות של formula_3, כלומר ביעילות גבוהה במידה ניכרת.
תיאור האלגוריתם.
עקרון.
נבדוק את האיבר האמצעי שבמערך הנתון (הממוין כך שהאיבר השמאלי ביותר בו הוא הקטן ביותר, והאיבר הימני ביותר הוא הגדול ביותר במערך). אם האיבר האמצעי הוא האיבר המבוקש, הרי מצאנו את שחיפשנו ונסיים כאן. אם לא, נבדוק מה יחס הסדר בין האיברים. אם האיבר המבוקש קטן יותר מאיבר זה, נבחר את חציו השמאלי של המערך (שבו כל האיברים הקטנים מהאיבר האמצעי). אם האיבר המבוקש גדול יותר, נבחר את חציו הימני של המערך (שבו כל האיברים הגדולים מהאיבר האמצעי). כעת נחזור על כל מה שעשינו עם תת-המערך שבחרנו. במקרה הגרוע ביותר, שבו באף אחד מהמקרים לא היה האיבר האמצעי האיבר אותו אנו מבקשים, נגיע לתת-מערך בעל איבר אחד, שהוא האיבר המבוקש (או שנגיע למסקנה שהאיבר המבוקש כלל אינו נמצא במערך).
מימוש מילולי.
הנחות והבהרות: המערך ממוין כך שהאיבר השמאלי ביותר הוא הקטן ביותר. האיבר המבוקש נמצא במערך. גישה למקום מסוים במערך תתבצע כך: מערך[מקום_מסוים]. השמת ערך במשתנה תתבצע על ידי הסימן &lt;- (חץ) ואילו בדיקת שוויון תתבצע על ידי הסימן = (שווה).
חיפוש_בינארי (תחילת_מערך, סוף_מערך, ערך_מבוקש)
שפת C.
מימוש רקורסיבי עבור מערך בגודל N:
int BinarySearch(int* a,int x, int left, int right)
if(left&gt;right)
return -1;
int middle = (left+right)/2;
if(a[middle]==x)
return middle;
if(x&lt;a[middle])
return BinarySearch(a,x,left,middle-1);
return BinarySearch(a,x,middle+1,right);
מימוש רגיל עבור מערך בגודל N:
int BinarySearch(int* a,int x)
int left = 0;
int right = N - 1;
int middle;
while (left &lt;= right) {
middle = floor((left + right)/2);
if (a[middle] &gt; x)
right = middle - 1;
if (a[middle] &lt; x)
left = middle + 1;
return middle;
return -1;
פסאודו- קוד.
מימוש רקורסיבי עבור מערך בגודל N:
BinarySearch(a[0..N-1], x, left, right) {
if (right &lt; left)
return not_found
middle = floor((left + right)/2)
if (a[middle] &gt; x)
return BinarySearch(a, x, left, middle-1)
else if (a[middle] &lt; x)
return BinarySearch(a, x, middle+1, right)
return middle
מימוש רגיל עבור מערך בגודל N:
BinarySearch(a[0..N-1], x) {
left = 0
right = N - 1
while (left &lt;= right) {
middle = floor((left + right)/2)
if (a[middle] &gt; x)
right = middle - 1
else if (a[middle] &lt; x)
left = middle + 1
return middle
return not_found
חישוב הסיבוכיות.
בידינו מערך בגודל formula_1 כלומר יש בו formula_1 איברים. בכל איטרציה (הפעלת האלגוריתם) אנו מצמצמים את המערך לחצי מגודלו, שכן אנו בטוחים שהאיבר אינו בחצי המערך השני ולכן אין אנו בודקים אותו יותר. לאחר איטרציה אחת יהיה גודל המערך formula_6, לאחר שתי איטרציות יהיה גודלו formula_7, לאחר שלוש איטרציות יהיה גודל המערך formula_8 וכן הלאה. התהליך ייגמר במקרה הגרוע ביותר כאשר יישאר מערך בגודל 1. אם התהליך כולו יימשך formula_9 איטרציות, יהיה גודל המערך formula_10. אנו דורשים שגודל זה יהיה 1 ולכן נדרוש formula_11. נוציא formula_12 משני אגפי המשוואה ונקבל כי formula_13.
קיבלנו כי סיבוכיות התהליך היא formula_3. כלומר מספר הפעולות שאנו עושים קטן משמעותית (לוגריתמית) ממספר איברי המערך.
דוגמת הרצה.
נסתכל על מערך המספרים: 1,1,2,3,5,8,13,21,34,55. סדרה זו ידועה בשם סדרת פיבונאצ'י, אך לצורך העניין כל שמעניין אותנו הוא עובדת היותם של מספרים אלה מסודרים בסדר עולה. כעת נסתכל על מערך שמכיל סדרה זו.
שימו לב שהערכים בשורה העליונה הם המקומות במערך (Indexes) ואילו הערכים בשורה התחתונה הם הנתונים הנשמרים במערך (Values). לדוגמה, במקום השלישי במערך שמור הערך 2.