מחסנית (מבנה נתונים)

הצגה פשוטה של מחסנית

מחסנית היא סוג של מבנה נתונים מופשט הפועל בצורה דומה לזו של מחסנית רובה: האיבר שנכנס ראשון למחסנית יוצא ממנה אחרון (תכונה זו מכונה נכנס אחרון יוצא ראשון - LIFO).

פעולות על המחסנית

פעולות בסיסיות

שלוש הפעולות הבסיסיות המגדירות מחסנית הן:

  • אתחול (init) - יצירה של מחסנית חדשה.
  • דחיפה (push) - הכנסת איבר חדש לראש המחסנית.
  • שליפה (pop) - פעולה המוציאה את האיבר העליון מהמחסנית.

פעולות נוספות

לעיתים, מוגדרות במחסנית גם פעולות נוספות:

  • האם_המחסנית_ריקה? (isEmpty) - פעולה המחזירה true אם מחסנית נתונה ריקה, ואחרת מחזירה false.
  • הצצה (peek/top) - פעולה המחזירה את ערכו של האיבר העליון במחסנית מבלי להוציא אותו מהמחסנית. פעולה זו איננה חיונית אם מגדירים את פעולת השליפה ככזאת שמבצעת פעולת הצצה וגם משנה את המחסנית.

פונקציות

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

  1. ראש המחסנית הוא האיבר האחרון שהוכנס למחסנית. כלומר top(push(i,S)) = i
  2. אם מוסיפים איבר ואז מסירים איבר מקבלים את המחסנית המקורית. כלומר pop(push(i,S)) = s
  3. אתחול מחסנית יוצר מחסנית ריקה. isEmpty(init()) = true
  4. כל מחסנית שהוסיפו לה יותר איברים משהסירו איננה ריקה. isEmpty(push(i,S)) = false

כל הפעולות במחסנית מתבצעות בזמן קבוע, שאיננו תלוי במספר האיברים במחסנית.

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

חשוב לשים לב לכך שכל אוסף של פונקציות וערכים המקיים את התנאים האלה נחשב למחסנית. דוגמה לא-טריוויאלית לכך היא קבוצת המספרים הטבעיים, עבור הפעולות "החזר 0" (אתחול), "הוסף 1"(push), "הפחת 1"(pop), "האם_אפס"(isEmpty). בכיוון השני ניתן לומר שכל מחסנית עשויה להוות ייצוג למספרים הטבעיים.

יישומי המחסנית

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

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

מימוש מחסנית

ישנן מספר דרכים לממש מחסנית:

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

מימושים שונים עלולים לאפשר מצבים לא תקינים:

  • מכיוון שגודל המחסנית לעיתים מוגבל, דחיפה עלולה לגרום לגלישה (Overflow) מהמחסנית כאשר לא נותר בה מקום לאיבר החדש. דוגמה מוכרת היא גלישת מחסנית הקריאות.
  • מצב של שליפת איבר ממחסנית ריקה מכונה מצב "חמיקה" (Underflow).

ראו גם

קישורים חיצוניים

  • מחסנית, באתר MathWorld (באנגלית)


Read other articles:

Handbook published by the United States Naval Institute The Bluejacket's Manual 23rd Edition HardcoverAuthorThomas J. Cutler, Mark T. Hacala, and Paul A. KingsburyCountryU.S.LanguageEnglishSubjectUnited States Navy lifeGenreHandbookPublisherUnited States Naval Institute PressPublication date12 Apr 2023 (26th Edition)Media typePrintPages712 (Hardcover 26th edition)ISBN978-1-68247-843-1 (Hardcover 26th edition)Preceded by25th Edition (2015)  The Bluejacket's Manual is the basic h...

 

Karbovanets Ukrainaукраїнський карбованець (Ukraina) 1 karbovanets1,000,000 karbovantsiv ISO 4217KodeUAKDenominasiSubsatuan 1/100kopiyka (копійка)Bentuk jamakkarbovantsi (jamak nominatif), karbovantsiv (jamak genitif) kopiyka (копійка)kopiyky (jamak nominatif), kopiyok (jamak genitif)Uang kertas1, 3, 5, 10, 25, 50, 100, 200, 500, 1000, 2000, 5000, 10 000, 20 000, 50 000, 100 000, 200 000, 500 000, 1 000 00...

 

American soldier and rebel (1747–1825) Daniel ShaysAn Authentic Portrait of the Chief Insurgent from 1878's Our First Century by Richard Miller DevensBornAugust 1747 (1747-08)Hopkinton, Province of Massachusetts Bay, British AmericaDiedSeptember 29, 1825 (aged 78)Sparta, New York, U.S.Resting placeUnion Cemetery, Scottsburg, New YorkOccupationsFarmermilitary officerKnown forAmerican Revolutionary War captainShays' RebellionSpouse Abigail Gilbert ​(m.&#...

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Kerikil – berita · surat kabar · buku · cendekiawan · JSTOR Batu kerikil (ukuran serpihan terbesar kira-kira 4 cm) Kerikil (Inggris: gravel) ialah bebatuan kecil, biasanya batu granit yang dipecahkan...

 

Questa voce o sezione sull'argomento centri abitati della Spagna non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Segui i suggerimenti del progetto di riferimento. Folgoso do Courelcomune Folgoso do Courel – Veduta LocalizzazioneStato Spagna Comunità autonoma Galizia Provincia Lugo TerritorioCoordinate42°35′20.04″N 7°11′43.08″W&#...

 

German film series (1984 - 2004) This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Heimat film series – news · newspapers · books · scholar · JSTOR (Jan...

Иеракиты в книге В. Н. Бенешевича Древнеславянская кормчая XIV титулов без толкования. СПб, 1907. Т. 1. Иераки́ты (др.-греч. ἱερακῖται; др.-рус. иєракитє) — ересь или секта, описанная в конце IV века Епифанием в «Панарионе» в числе 80 ересей и Иоанном Дамаскиным в книге «О с�...

 

Sarayuth Chaikamdee Informasi pribadiNama lengkap Sarayuth ChaikamdeeTanggal lahir 24 September 1981 (umur 42)Tempat lahir Khon Kaen, ThailandTinggi 1,74 m (5 ft 8+1⁄2 in)Posisi bermain PenyerangKarier junior1993–1995 Nonsaard Witayakan School1996–1998 Phon Technical College1999–2000 Royal Thai AirforceKarier senior*Tahun Tim Tampil (Gol)2001–2004 Thai Port 66 (47)2005–2006 Pisico Bình Định 29 (20)2007 Thai Port 20 (11)2008–2009 Osotspa Saraburi 47 (...

 

Falcon 9 Block 5 first-stage booster Falcon 9 booster B1060 B1060 on ASOG arriving into Port Canaveral after its 10th flight that sent some Starlink satellites to space Role First stage of orbital class rocketType of aircraft National origin United States Type Falcon 9 first stage booster Manufacturer SpaceX Construction number B1060 First flight 30 June 2020 (USA-304 Matthew Henson) Last flight 28 April 2024 (Galileo FOC FM25 & FM27) Flights 20 Status Retired; Expended Falcon 9 B1060 was...

PlaceboI Placebo in concerto a Bologna nel 2009 Paese d'origine Regno Unito GenereRock alternativo[1][2]Neo-glam[1][3][4] Periodo di attività musicale1994 – in attività EtichettaVirgin Records, Elevator Lady, Hut Recordings, Dreambrother Ltd., Vertigo Records, Universal Music, Rise Records, SO Recordings Album pubblicati20 Studio8 Live3 Raccolte9 Logo ufficiale Sito ufficiale Modifica dati su Wikidata · Manuale I P...

 

此條目可参照英語維基百科相應條目来扩充。 (2021年5月6日)若您熟悉来源语言和主题,请协助参考外语维基百科扩充条目。请勿直接提交机械翻译,也不要翻译不可靠、低品质内容。依版权协议,译文需在编辑摘要注明来源,或于讨论页顶部标记{{Translated page}}标签。 约翰斯顿环礁Kalama Atoll 美國本土外小島嶼 Johnston Atoll 旗幟颂歌:《星條旗》The Star-Spangled Banner約翰斯頓環礁�...

 

2016年美國總統選舉 ← 2012 2016年11月8日 2020 → 538個選舉人團席位獲勝需270票民意調查投票率55.7%[1][2] ▲ 0.8 %   获提名人 唐納·川普 希拉莉·克林頓 政党 共和黨 民主党 家鄉州 紐約州 紐約州 竞选搭档 迈克·彭斯 蒂姆·凱恩 选举人票 304[3][4][註 1] 227[5] 胜出州/省 30 + 緬-2 20 + DC 民選得票 62,984,828[6] 65,853,514[6]...

2020年夏季奥林匹克运动会马来西亚代表團马来西亚国旗IOC編碼MASNOC马来西亚奥林匹克理事会網站olympic.org.my(英文)2020年夏季奥林匹克运动会(東京)2021年7月23日至8月8日(受2019冠状病毒病疫情影响推迟,但仍保留原定名称)運動員30參賽項目10个大项旗手开幕式:李梓嘉和吳柳螢(羽毛球)[1][2]閉幕式:潘德莉拉(跳水)[3]獎牌榜排名第74 金牌 銀牌 銅�...

 

2020年夏季奥林匹克运动会波兰代表團波兰国旗IOC編碼POLNOC波蘭奧林匹克委員會網站olimpijski.pl(英文)(波兰文)2020年夏季奥林匹克运动会(東京)2021年7月23日至8月8日(受2019冠状病毒病疫情影响推迟,但仍保留原定名称)運動員206參賽項目24个大项旗手开幕式:帕维尔·科热尼奥夫斯基(游泳)和马娅·沃什乔夫斯卡(自行车)[1]闭幕式:卡罗利娜·纳亚(皮划艇)&#...

 

Soyuz TMA-13M adalah penerbangan 2014 ke Stasiun Antariksa Internasional. Hal diangkut tiga anggota awak Ekspedisi 40 ke Stasiun Antariksa Internasional. TMA-13M adalah penerbangan 122 dari pesawat ruang angkasa Soyuz sejak tahun 1967, dan misi Soyuz 39 ke ISS. Referensi Clark, Stephen. Mission Status Center. Spaceflight Now. Retrieved 28 May 2014. Arrival of Expedition 40 Trio Expands Station Crew to Six. NASA. 28 May 2014. Retrieved 29 May 2014. Soyuz Completes Deorbit Burn, Expedition 41 ...

Painting by Johannes Vermeer Lady Standing at a VirginalArtistJohannes VermeerYearc. 1670–1672[1]MediumOil on canvasMovementDutch Golden Age paintingDimensions51.7 cm × 45.2 cm (20.4 in × 17.8 in)[1]LocationNational Gallery, London Lady Standing at a Virginal is a genre painting created by the Dutch artist Johannes Vermeer in about 1670–1672, now in the National Gallery, London. Description The oil painting depicts a richly dress...

 

غيلبرت إف. وايت   معلومات شخصية الميلاد 26 نوفمبر 1911   شيكاغو  الوفاة 5 أكتوبر 2006 (94 سنة) [1]  بولدر  مواطنة الولايات المتحدة  عضو في الأكاديمية الوطنية للعلوم،  والأكاديمية الأمريكية للفنون والعلوم،  والأكاديمية الروسية للعلوم،  والجمعية الأمريكية ...

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (يناير 2022) الهندسة الضخمة أو الهندسة الكلية أو هندسة النطاق الواسع أو الهندسة العملاقة (بالإنجليزية: Macroengineering or Macro En...

Gedung Parlemen Prancis atau France National Assemble Mikhail Bakunin, tokoh anarkisme Rusia. Pemikiran dianggap sebuah prediksi akan kezaliman rezim komunis Uni Soviet, meskipun ia sendiri sudah wafat jauh sebelum Uni Soviet lahir Kiri jauh adalah salah satu aliran dalam spektrum ideologi politik. Spektrum politik kiri jauh pada dasarnya lahir pula dari kontestasi dialektika ideologi politik yang terjadi, seperti antitesis terhadap politik sayap kanan dan juga kanan jauh, dan bahkan termasuk...

 

Capital city of Gujarat, India This article is about the municipality in India. For its namesake district, see Gandhinagar district. For other uses, see Gandhinagar (disambiguation). Capital City of Gujarat in IndiaGandhinagarCapital City of GujaratClockwise, from top: Akshardham temple, Gandhinagar Capital railway station Overview, Gujarat Science City, Mahatma Mandir Logo of the Gandhinagar Municipal CorporationShow Gandhinagar CityShow Gandhinagar TalukaShow Gandhinagar DistrictShow Gujara...