Kad mēs runājam par datu struktūrām, jēdziens korts. Šis termins, ko plaši izmanto matemātikā, programmēšanā un datu bāzēs, ir galvenais, lai saprastu, kā mūsdienu valodas pārvalda informācijas grupas. Šajā rakstā mēs padziļināti atklāsim, kas ir kortežs, tā īpašības un kā tās tiek izmantotas dažādās programmēšanas valodās, piemēram, Python, Visual Basic un pat relāciju datu bāzēs.
Korpuss būtībā ir a sakārtota vērtību secība. Tomēr atšķirībā no cita veida kolekcijām, piemēram, sarakstiem, tai ir īpatnība, kas padara to diezgan noderīgu noteiktos scenārijos: nemainīgums. Tas nozīmē, ka pēc izveides elementi, kas veido korešu, nevar tikt mainīti. Šī funkcija ir īpaši efektīva, ja vēlamies nodrošināt, ka dati nemainās nejauši vai apzināti. Bet pirms iedziļināties tās lietojumos un īpašībās, ir lietderīgi izprast tā izcelsmi un terminoloģijas iemeslu.
Korteļu izcelsme un vispārinājums
Termins korts izriet no tādu terminu matemātiska vispārinājuma kā pāris (divi elementi), trīskāršs (trīs elementi) un tā tālāk. No turienes tika konstatēts, ka secība n elementus (n ir vesels skaitlis) sauc par a n-korpuss, kā veidu, kā grupēt skaitļus vai datus. Šis nosaukums tika paplašināts līdz tā lietošanai programmēšanā un matemātikā, jo korteži ļauj strādāt ar ierobežotu skaitu elementu, saglabājot tos. kārtība un struktūra.
Matemātikā, korteži Tos var uzskatīt arī par sakārtotu pāru izstrādi, kur ievades kopu var definēt ar dažādiem grupēšanas slāņiem. Tādā veidā a n-korpuss ar vairāk nekā diviem elementiem to var attēlot kā sakārtotu tā pirmā ieraksta pāri un apakškopu, kas satur pārējos ierakstus. Šī organizēšanas ideja ir pārnesta uz programmēšanas pasauli, kur korteži Tie ir ļoti spēcīgs un elastīgs rīks.
Tuples galvenās iezīmes
the korteži Tos nosaka virkne raksturlielumu, kas padara tos unikālus salīdzinājumā ar citām datu struktūrām:
- Nemainība: Pēc izveides nav iespējams modificēt kortedža elementus. Tas nozīmē, ka mēs nevaram atkārtoti piešķirt vērtību noteiktai pozīcijai kortežā. Piemēram, ja kortežs satur vērtību 3 savā pirmajā elementā, tā saglabās šo vērtību visu mūžu.
- Pasūtījums: Korpusa elementi tiek saglabāti noteiktā secībā. Atšķirībā no daudzām citām kolekcijām, piemēram, kopām, elementu ievadīšanas secība nav nejauša. Kārtība ir svarīga, un tā tiks ievērota ikreiz, kad mēs sadarbosimies ar kopu.
- Dažādi veidi: Atšķirībā no citiem datu veidiem, piemēram, masīviem, korteži var saturēt dažāda veida elementus. Ir pilnīgi pieļaujams, ka kortežā ir iekļauti gan veseli skaitļi, gan virknes, gan Būla vērtības.
- Piekļuve, izmantojot indeksus: Tāpat kā saraksti, korteži ļauj piekļūt saviem atsevišķiem elementiem, izmantojot indeksus. Šie indeksi parasti sākas no skaitļa 0. Turklāt, tā kā korteži ir salīdzināmi, ir iespējams pārbaudīt attiecības starp tām, pamatojoties uz to elementu vērtību.
Šīs īpašības padara korteži Tie ir ideāli piemēroti situācijām, kad mums ir jāgrupē neviendabīgi dati un jānodrošina, lai tie nejauši nemainās programmas izpildes laikā. Piemēram, kortežs būtu piemērota izvēle koordinātu (x, y) saglabāšanai plaknē, jo šīs vērtības pēc definēšanas nedrīkst mainīt.
Korpusu izmantošana programmēšanas valodās
Korpusi Python
Programmā Python, korteži Tās ir ļoti daudzpusīga un plaši izmantota datu struktūra. Tie ir definēti, izmantojot iekavas ()
un atdalot elementus ar komatiem. Python korežu īpatnība ir tā, ka papildus to nemainīgumam tie var saturēt dažāda veida elementus:
>>> t = (1, 'dos', 3)
Šajā piemērā mums ir a korts ar trim elementiem: vesels skaitlis, teksta virkne un vēl viens vesels skaitlis. Ja mēģināsim modificēt kādu no tā elementiem, piemēram, pāršķirot pirmā skaitļa vērtību, Python atgriezīs kļūdu:
>>> t[0] = 'uno'Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'tuple' object does not support item assignment
Korežu modifikācijas neiespējamība padara tos par ļoti noderīgiem elementiem, ja vēlamies aizsargāt savus datus pret nejaušām modifikācijām.
Darbības ar kortežiem Python
Dažas no operācijām, ko mēs varam veikt ar korejām Python, ir līdzīgas tām, kuras mēs varam veikt ar sarakstiem:
- Piekļuve, izmantojot indeksus: Korejas elementiem var piekļūt, izmantojot atbilstošo indeksu. Kā jau minēts, indeksi Python tie sākas no 0.
- Sagriešana vai sagriešana: Izmantojot šo metodi, ir iespējams iegūt kortedža daļas šķēle. Piemēram, mēs varam iegūt apakškorpusu ar elementiem 1. un 2. pozīcijā iepriekš izveidotajā kortejā:
>>> t[1:3]
Rezultāts būs jauns virkne ar elementiem:
('divi', 3)
Korpusa manipulācijas: Lai gan korteži ir nemainīgi un mēs nevaram tieši mainīt to elementus, ir iespējams atkārtoti piešķirt kortei jaunam mainīgajam vai apvienot vairākus korešus, lai izveidotu jaunu. Piemēram, izmantojot operatoru, mēs varam pievienot divus korešus +
:
>>> t = (1, 2) + (3, 4)>>> t(1, 2, 3, 4)
Korpusi relāciju datu bāzēs
Datu bāzu jomā a korts ir rinda relāciju datu bāzes tabulā. Katrā tabulas kolonnā ir vērtība, kas saistīta ar korešu.
Piemēram, videospēļu atskaņotāja tabulā katra rinda var attēlot virkni ar šādu struktūru:
(Jugador: 'Luis', Puntuación: 25)
Šeit virknējumā ir divas vērtības: spēlētāja vārds un viņa rezultāts. Šajā kontekstā korteži ir ļoti noderīgi, jo tie ļauj konsekventi saistīt dažāda veida datus (piemēram, virknes un veselus skaitļus, kā mēs redzējām).
Uzlaboti Korpusa piemēri
Dažās programmēšanas valodās, piemēram, Visual Basic, kopas var viegli izveidot, izmantojot iekavas un ar komatu atdalītu vērtību kopu. Turklāt Visual Basic ļauj izmantot nosaukti korteži, kas dod mums elastību, lai piešķirtu nosaukumus katram elementam korejā.
Piemēram, a divu elementu virkne var būt Būla vērtība un teksta virkne:
Dim holiday = (#07/04/2017#, "Independence Day", True)
Šajā gadījumā ir izveidots trīs elementu virkne, kur pirmais ir datums, otrais ir virkne, bet trešais ir Būla vērtība.
Korpusi un to efektivitāte
Vēl viens aspekts, kas jāpatur prātā, ir tas, ka koreži, kas ir nemainīgi, ir salīdzinoši efektīvāki laika un atmiņas ziņā nekā saraksti. Tas ir tāpēc, ka, ja tā netiek mainīta, programmēšanas valodai nav jāpārvalda sava iekšējā struktūra tāpat kā ar mainīgu sarakstu. Tāpēc korteži ir ieteicami, ja nepieciešama lielāka efektivitāte vai dati netiks mainīti.
Konvertēšana starp sarakstiem un kortežām
Visbeidzot, daudzās programmēšanas valodās sarakstu var pārvērst par a korts un otrādi. Python to var viegli izdarīt, izmantojot iepriekš definētas funkcijas tuple() y saraksts ().
>>> l = [1, 2, 3]>>> t = tuple(l)>>> t(1, 2, 3)
Līdzīgi mēs varam pārvērst virkni par sarakstu:
>>> t = (1, 2, 3)>>> l = list(t)>>> l[1, 2, 3]
Šī elastība ļauj izmantot datu struktūru, kas ir vispiemērotākā katrā gadījumā atbilstoši programmas vajadzībām.
Īsumā, korteži Tie ir būtisks rīks sarežģītu datu programmēšanai un apstrādei. Pateicoties to nemainīgumam un spējai grupēt neviendabīgus datus, tie ir ārkārtīgi noderīga struktūra dažādos kontekstos, sākot no algoritmu optimizācijas līdz datu attēlošanai relāciju datu bāzēs. Ja jums ir nepieciešams datu tips, kas programmas izpildes laikā paliek nemainīgs, kortežs ir lieliska izvēle.