Tinutuklasan ng araling ito ang mga paraan kung paano tayo makakapagtrabaho sa mga istruktura ng data. Ang mga istruktura ng data ay parang mga espesyal na organizer na tumutulong sa amin na panatilihing maayos ang mga bagay. Ginagamit ang mga ito sa mga kompyuter at sa pang-araw-araw na buhay. Tulad ng pag-aayos mo ng iyong mga laruan, aklat, o damit, tinutulungan kami ng mga istruktura ng data na ayusin ang mga piraso ng impormasyon upang madali naming mahanap at magamit ang mga ito.
Ang istraktura ng data ay isang paraan upang mag-imbak at mag-ayos ng data. Isipin ito tulad ng isang kahon ng laruan, isang istante, o isang bag ng paaralan. Sa bawat isa sa mga ito, ang lahat ay may sariling lugar. Kapag hinahanap mo ang iyong paboritong laruan, alam mo kung saan ito mahahanap. Sa parehong paraan, pinapanatili ng mga istruktura ng data ang lahat ng data na nakaayos upang ang mga computer at mga tao ay makapagtrabaho sa kanila nang mabilis at tama.
Halimbawa, kung mayroon kang isang kahon para sa iyong mga kulay na lapis at isa pang kahon para sa iyong mga pambura, gumagamit ka ng isang sistema. Ang isang istraktura ng data ay gumagawa ng parehong bagay ngunit may impormasyon. Tinitiyak nito na ang lahat ay maayos at nasa tamang pagkakasunud-sunod.
Ang mga operasyon sa mga istruktura ng data ay mga hakbang na tumutulong sa amin na baguhin o basahin nang tama ang organisadong data. Ang mga ito ay tulad ng mga aksyon na gagawin mo kapag nagdagdag ka, nag-alis, o nagsuri ng mga item sa iyong kuwarto. Imagine magulo ang kwarto mo. Maaari kang magdagdag ng mga bagong laruan, alisin ang mga sirang, at kung minsan ay paghaluin ang mga ito kapag naglilinis. Ang mga operasyon sa mga istruktura ng data ay tumutulong sa amin na gawin ang mga pagbabagong ito sa isang organisadong paraan.
Sa pamamagitan ng paggamit ng mga operasyon, maaari naming i-update ang aming impormasyon. Ginagamit ng mga computer ang mga operasyong ito upang mabilis na magdagdag ng bagong kaibigan sa isang listahan, mag-alis ng lumang mensahe, o maghanap ng file sa isang folder. Ang bawat operasyon ay may espesyal na trabaho na ginagawang simple at malinaw ang pagtatrabaho sa data.
Maraming mga operasyon na maaari naming gawin sa mga istruktura ng data. Pag-uusapan natin ang tungkol sa limang karaniwang operasyon: pagpasok, pagtanggal, paghahanap, pagtawid, at pag-update. Ang bawat isa sa mga operasyong ito ay may malinaw na trabaho. Alamin natin ang higit pa tungkol sa bawat isa.
Ang ibig sabihin ng pagpapasok ay pagdaragdag ng bagong item sa isang istraktura ng data. Isipin ang iyong paboritong sticker book. Sa tuwing makakakuha ka ng bagong sticker, idaragdag mo ito sa aklat. Ito ay insertion.
Simpleng Halimbawa: Kung mayroon kang listahan ng mga prutas tulad ng Apple, Saging, Grape at nakakuha ka ng bagong prutas, sabihin Mango , ilagay mo ang mangga sa listahan. Ngayon ang listahan ay Apple, Banana, Grape, Mango . Sa ganitong paraan, ang listahan ay humahaba ng isa, at lahat ng mga item ay naroroon.
Ang pagpasok ay lubhang kapaki-pakinabang. Kung nangongolekta ka ng mga bagay tulad ng mga bituin, sticker, o card, ang bawat bagong item ay idaragdag sa isang simpleng hakbang. Ginagawa ng mga computer ang parehong bagay kapag lumitaw ang bagong data.
Ang pagtanggal ay nangangahulugan ng pag-alis ng isang item mula sa isang istraktura ng data. Isipin na linisin ang iyong kuwarto—maaari mong alisin ang isang laruang sirang o hindi na nakakatuwang paglaruan. Iyon ay pagtanggal.
Simpleng Halimbawa: Gamit ang listahan ng prutas Apple, Banana, Grape, Mango , kung magpasya kang ayaw mo na ng Saging, ilalabas mo ito at ang listahan ay magiging Apple, Grape, Mango .
Nakakatulong ang pagtanggal na panatilihing malinis ang data. Tulad ng pagtatapon mo ng mga lumang papel o sirang laruan, inaalis ng computer ang mga hindi gustong data para manatiling maayos ang lahat.
Ang ibig sabihin ng paghahanap ay naghahanap ng isang partikular na item sa isang istraktura ng data. Ito ay tulad ng paghahanap ng iyong paboritong laruan sa iyong laruang dibdib. Maaaring kailanganin mong hanapin ito sa marami pang iba.
Simpleng Halimbawa: Isipin na mayroon kang listahan ng mga prutas: Mansanas, Ubas, Mangga . Kung nais mong makita kung ang Grape ay nasa listahan, tingnan mo ang bawat prutas hanggang sa makita mo ito. Ang paghahanap ay nakakatulong sa iyo na magpasya kung ang item ay naroroon at kung saan ito nakalagay.
Ang paghahanap ay mahalaga. Kapag gusto mong suriin kung mayroon kang partikular na kulay o espesyal na card, maingat kang maghanap sa iyong koleksyon, nang paisa-isa. Ang parehong nangyayari sa maraming mga programa sa computer.
Nangangahulugan ang traversal na isa-isa ang pagdaan sa bawat item sa istruktura ng data. Ito ay tulad ng pagsuri sa bawat bulsa sa iyong jacket upang makita kung ano ang makikita mo sa loob.
Simpleng Halimbawa: Kung gusto mong bilangin ang lahat ng prutas sa iyong listahan Apple, Grape, Mango , magsisimula ka sa unang prutas, lumipat sa susunod, at iba pa hanggang sa mabilang mo silang lahat. Ang prosesong ito ay tinatawag na traversal.
Tinutulungan ka ng Traversal na makita ang buong larawan. Tulad ng pag-round up ng iyong mga kaibigan nang paisa-isa sa linya, ginagamit ng mga computer ang traversal upang lumipat sa data at maingat na suriin ang bawat item.
Ang pag-update ay nangangahulugan ng pagbabago ng isang elemento sa isang istraktura ng data. Pag-isipan kung kailan mo muling pininturahan ang isang laruan o pinalitan ang damit nito. Ang pag-update ay nagbibigay sa iyo ng paraan upang gawing bago ang isang bagay nang hindi nagsisimulang muli.
Simpleng Halimbawa: Kung ang iyong listahan ng prutas ay Apple, Grape, Mango at nagpasya kang palitan ang Grape sa Orange , i-update mo ang listahan at ito ay magiging Apple, Orange, Mango .
Ang pag-update ay parang pagbibigay ng pagbabago sa isang bagay. Ginagamit ng mga computer ang operasyong ito upang baguhin ang mga detalye sa data. Ito ay isang mabilis na paraan upang ayusin ang mga pagbabago nang hindi nawawala ang iba pang bahagi ng listahan.
Ang mga istruktura ng data ay dumating sa maraming anyo. Ngayon, titingnan natin ang tatlong simpleng uri na gumagamit ng mga operasyong ito: mga listahan, stack, at pila. Ang bawat uri ay may mga pagpapatakbo na pinakamahusay na gumagana sa kanilang natatanging istilo ng organisasyon.
Ang isang listahan ay isang simple, nakaayos na koleksyon ng mga item. Ito ay tulad ng isang listahan ng pamimili o isang listahan ng iyong mga paboritong cartoon. Sa mga listahan, ang bawat item ay may posisyon at maaaring magamit sa maraming paraan.
Narito ang ilang karaniwang operasyon sa mga listahan:
Ang mga listahan ay simple at kapaki-pakinabang. Araw-araw, sumusulat ka ng mga listahan upang matandaan ang mga bagay. Gumagana ang mga listahang ito tulad ng mga listahan ng computer. Tinutulungan ka nila na subaybayan ang maraming mga item at ipaalam sa iyo nang eksakto kung nasaan ang lahat.
Ang stack ay isang espesyal na uri ng istraktura ng data. Isipin ang pagsasalansan ng mga plato sa isang mesa. Ang panuntunan ay simple: ang huling plato na inilagay mo sa stack ay ang una mong tatanggalin. Ang panuntunang ito ay kilala bilang Last-In-First-Out, o LIFO.
Sa mga stack, ang mga pangunahing operasyon ay:
Simpleng Halimbawa: Isipin na pinagsasalansan mo ang iyong mga paboritong storybook. Sa tuwing makakakuha ka ng isa pang storybook, itinutulak mo ito sa itaas. Kapag hiniling ng iyong kaibigan na magbasa, i-pop mo ang nangungunang storybook at ibibigay ito sa kanila. Nakakatulong ang mga stack na panatilihing maayos ang mga bagay sa isang mahigpit na pagkakasunud-sunod.
Ang queue ay isa pang karaniwang istraktura ng data. Gumagana ito tulad ng isang linya ng mga taong naghihintay sa ice cream truck. Ang unang taong pumila ay ang unang kukuha ng ice cream. Ang panuntunang ito ay kilala bilang First-In-First-Out, o FIFO.
Sa mga pila, ang mga pangunahing operasyon ay:
Simpleng Halimbawa: Mag-isip tungkol sa paghihintay sa iyong pagkakataon na sumakay sa isang slide. Sumali ka sa dulo ng linya, at kapag turn mo na, humakbang ka pasulong at mag-enjoy sa biyahe. Gumagana ang mga pila sa parehong paraan—lahat ay nakakakuha ng patas na pagliko batay sa kung sino ang unang dumating.
Ang mga pagpapatakbo ng istruktura ng data ay hindi lamang ginagamit sa mga computer. Ang mga ito ay lubhang kapaki-pakinabang sa pang-araw-araw na buhay. Narito ang ilang halimbawa:
Tinitiyak ng mga operasyong ito na ang lahat ng impormasyon ay pinananatiling ligtas, organisado, at handang gamitin. Tinutulungan nila ang mga guro, librarian, at tindero na panatilihing maayos ang lahat.
Mag-isip tungkol sa pag-aayos ng isang birthday party. Mayroong listahan ng bisita kung saan ka magdagdag ng mga pangalan (insertion). Kung may hindi makapunta, tatanggalin mo ang kanilang pangalan (pagtanggal). Maaari mong tawagan ang mga bisita para paalalahanan sila (naghahanap) at tingnan kung nakarating na ang lahat (traversal). Kung ang isang bisita ay nagbago ng kanilang upuan, i-update mo ang seating plan (pag-update). Sa pamamagitan ng pagsasanay sa mga operasyong ito, makikita mo kung paano bahagi ng pang-araw-araw na buhay ang pamamahala ng data.
Ang parehong mga hakbang na ito ay nakakatulong sa pagpaplano ng isang party sa klase o pag-aayos ng iyong takdang-aralin. Kapag inayos mo ang iyong mga kagamitan sa sining o nagpasya kung aling mga laro ang laruin, ginagamit mo ang mga ideya ng mga pagpapatakbo ng istruktura ng data. Ang pamamahala sa iyong mga bagay ay maaaring gawing mas madali sa pamamagitan ng pagsunod sa mga simpleng gawaing ito: magdagdag, mag-alis, maghanap, tumingin, at magbago.
Kahit na ang mga pangunahing operasyon ay magkatulad, kung paano gumagana ang mga ito ay maaaring magbago depende sa istraktura ng data. Sa isang listahan, maaari kang magdagdag o mag-alis ng mga item sa halos anumang posisyon. Sa isang stack, maaari ka lamang magdagdag o mag-alis ng mga item mula sa itaas. Sa isang pila, ang mga item ay idinaragdag sa isang dulo at inaalis mula sa isa.
Ang iba't ibang ito ay tumutulong sa mga computer na piliin ang pinakamahusay na paraan para sa isang gawain. Halimbawa, kung kailangang iproseso ng isang computer ang mga gawain sa pagkakasunud-sunod, maaari itong gumamit ng pila. Kung ang isang computer ay kailangang pansamantalang mag-imbak ng mga item, maaari itong gumamit ng isang stack. Ang pag-unawa sa mga pagkakaibang ito ay nakakatulong sa amin na makita kung bakit maraming pagpipilian sa pag-aayos ng data.
Ang pag-alam sa mga pagkakaiba-iba na ito ay maihahambing sa pagpili ng iba't ibang mga kahon ng imbakan para sa iba't ibang layunin. Ang ilang mga kahon ay maaaring may takip lang kung saan ka magdagdag o mag-alis ng mga item, habang ang iba ay may mga compartment na nagbibigay-daan sa iyong ilagay ang mga bagay sa anumang pagkakasunud-sunod.
Ang pag-aaral tungkol sa mga pagpapatakbo ng istruktura ng data ay parang pag-aaral ng bagong laro. Ang mga laro ay may malinaw na mga panuntunan at hakbang. Ang bawat galaw mo sa laro ay may resulta at paraan para maglaro muli. Ang mga pagpapatakbo ng istruktura ng data ay sumusunod sa mga malinaw na hakbang na makakatulong sa iyong maunawaan ang kaayusan at organisasyon.
Isipin ang isang board game kung saan nangongolekta ka ng mga card. Sa tuwing mangolekta ka ng card, idinaragdag mo ito sa iyong koleksyon (insertion). Kapag nagpasya kang ipagpalit ang isang card sa isang kaibigan, aalisin mo ito (pagtanggal). Upang mahanap ang iyong paboritong card, maghanap ka sa iyong deck (naghahanap). Kapag oras na para ayusin ang iyong mga card para maglaro, tinitingnan mo ang bawat card (traversal). At kung nakakuha ka ng bagong bersyon ng isang card, ina-update mo ang iyong deck (pag-update). Ang bawat operasyon ay isang hakbang na ginagawang mas masaya at organisado ang laro.
Ang ganitong paraan ng pag-iisip ay maaaring gawing masaya ang pag-aaral. Sa pamamagitan ng paggamit ng mga pang-araw-araw na halimbawa, sinisimulan mong makita ang koneksyon sa pagitan ng iyong pang-araw-araw na pagkilos at trabaho ng computer. Parehong kinasasangkutan ng pagpapanatiling maayos ang mga bagay, na mahalaga para sa parehong oras ng paglalaro at oras ng trabaho.
Gumamit tayo ng halimbawa ng laruan upang mas maunawaan ang mga operasyong ito. Isipin na mayroon kang isang kahon na naglalaman ng iyong mga paboritong laruan. Narito kung paano mo maiisip ang bawat operasyon:
Ang simpleng halimbawang ito ay nagpapakita kung paano ang bawat operasyon ay isang maliit na hakbang. Magkasama, nakakatulong ang mga hakbang na ito na pamahalaan ang iyong mga laruan tulad ng pagtulong ng mga ito sa mga computer na pamahalaan ang impormasyon.
Ang mga computer ay gumagamit ng mga pagpapatakbo ng istruktura ng data sa lahat ng oras. Kapag naglalaro ka ng video game, gumagamit ang game engine ng mga listahan para subaybayan ang mga score, manlalaro, at item ng laro. Kapag nag-scroll ka sa isang photo album sa isang tablet, ang computer ay gumagamit ng traversal upang ipakita ang bawat larawan nang sunud-sunod.
Isipin na gumagawa ka ng isang simpleng digital album ng iyong mga paboritong larawan. Narito kung paano maaaring gumanap ang computer ng mga operasyon:
Makakatulong sa iyo ang pag-unawa sa mga operasyong ito na makita kung gaano kapareho ang mga pang-araw-araw na pagkilos sa iyong tablet sa mga simpleng hakbang na ginagawa mo sa iyong kuwarto. Parehong tinitiyak na gumagana ang mga bagay sa isang malinaw at maayos na paraan.
Ngayon, nalaman namin na ang istraktura ng data ay isang simpleng paraan upang ayusin ang impormasyon, tulad ng pag-aayos mo ng iyong mga laruan o aklat. Natuklasan namin na mayroong limang pangunahing pagpapatakbo na ginagamit sa mga istruktura ng data:
Nalaman din namin ang tungkol sa iba't ibang uri ng mga istruktura ng data tulad ng mga listahan, stack, at pila. Nagbibigay-daan sa iyo ang mga listahan na madaling magdagdag, mag-alis, at magpalit ng mga item kahit saan. Tinitiyak ng mga stack na ang huling item na idaragdag mo ay ang una mong aalisin. Gumagana ang mga pila tulad ng mga linya, kung saan ang unang item sa loob ay ang unang item na lumabas.
Ang mga operasyong ito ay tumutulong sa mga computer at mga tao na panatilihing maayos ang mga bagay-bagay at gawing mas madali ang paghahanap kung ano ang kailangan. Sa pang-araw-araw na buhay, ang pag-aayos ng iyong mga laruan, aklat, at maging ang pagpaplano ng iyong araw ay nagsasangkot ng mga katulad na hakbang.
Tandaan na ang mga pagpapatakbo ng istruktura ng data ay hindi lamang para sa mga computer. Ang mga ito ay mga ideya na ginagamit natin araw-araw. Sa pamamagitan ng pag-aaral tungkol sa mga operasyong ito, makakakuha ka ng mas malinaw na pag-unawa sa kaayusan at kaayusan. Ipinakita sa iyo ng araling ito na ang maliliit, simpleng hakbang ay maaaring gumawa ng malaking pagkakaiba sa pagpapanatiling maayos at mahusay ang mga bagay.
Habang patuloy kang lumalaki at natututo, isipin kung paano mo inaayos ang iyong mga bagay sa bahay. Pansinin kung paano ka magdagdag ng mga bagong item, mag-alis ng mga luma, at tumingin nang mabuti upang mahanap ang iyong mga paboritong bagay. Ang mga hakbang na ito ay pareho sa mga ginagamit sa mga istruktura ng data. Sa pagsasanay, makikita mo na ang parehong mga kasanayan ay nakakatulong sa iyo sa paaralan at kapag gumagamit ng mga computer.
Sa pamamagitan ng pag-unawa sa mga pangunahing pagpapatakbo sa mga istruktura ng data—Pagpasok, Pagtanggal, Paghahanap, Paglalakbay, at Pag-update—nakakabuo ka ng matibay na pundasyon sa kung paano pinamamahalaan ang impormasyon. Ito ay hindi lamang makakatulong sa iyo sa pag-aaral sa computer sa ibang pagkakataon, ngunit gagabay din ito sa iyo sa pagpapanatiling maayos ang iyong sariling mundo.
Panatilihin ang mga pangunahing ideyang ito sa iyong isipan: bawat piraso ng impormasyon ay may sariling lugar, at ang paggamit ng tamang operasyon sa tamang oras ay nagpapadali sa buhay. Inaayos mo man ang iyong silid o namamahala ng mga file sa isang computer, tandaan ang mga hakbang na ito at magsaya habang ginagawa mo ito.