Vad är en datastruktur?
En datastruktur är ett begrepp från datavetenskap som hänvisar till en viss metod för att samla in och organisera information. Alla datastrukturer använder information om var en given datainformation finns i minnet på en dator för att få tillgång till den informationen och ansluta den till andra data. Datastrukturer skapar en av många olika slags förhållanden mellan enskilda information. Olika typer av datastrukturer är mer effektiva för olika ändamål, och svårigheten att koda varierar mycket mellan typer av datastrukturer.
Matriser är bland de enklaste datastrukturerna men är ändå mycket kraftfulla verktyg för att organisera information. I en array tilldelas element sekvensiella minnesadresser, vilket gör att minnesadressen för varje objekt i arrayen kan fastställas mycket snabbt med hjälp av enkla matematiska beräkningar, en nyckelfördel. Matriser kan tolkas som befintliga i valfritt antal dimensioner. En endimensionell matris kan konceptualiseras som en lista, en tvådimensionell matris som en tabell och en tredimensionell matris som en kub av enskilda celler. Det finns också matriser med mer än tre dimensioner.
Länkade listor är en annan enkel men mycket viktig typ av datastruktur. I en länkad lista består varje nod av en variabel som innehåller både faktiska data och information som identifierar nästa element i listan. En länkad lista kan således gå igenom så länge adressen till den första noden är känd. Denna typ av datastruktur är mångsidig eftersom den lämpar sig för dynamisk tillväxt, eftersom nya noder enkelt kan tilldelas när som helst. Tillägget av en variabel som innehåller platsen för den föregående noden i listan gör det möjligt att köra denna typ av datastruktur i endera riktningen.
Träd ordnar noder hierarkiskt, börjar med en rotnod och faller ned genom flera lager av noder tills alla nödvändiga data har anpassats i strukturen. Vanligtvis sorteras elementen i ett träd på något sätt. Träd kan genomföra sortering och kan potentiellt ge mycket snabbare åtkomst till lagrade data på grund av detta, eftersom varje grenning eliminerar hela informationssträng från övervägande som skulle behöva sorteras igenom i en länkad lista.
Hashtabeller används för att bestämma en minnesadress i vilken en given datamängd ska lagras genom att använda en ekvation för att omvandla den till en minnesadress. De kan vara en mycket effektiv struktur för att lagra och hämta data från en matris.
Alla datastrukturer är utformade för att minska antalet instruktioner som en dator måste utföra för att hitta en viss information. Olika typer av data lämpar sig för olika typer av datastruktur, men de flesta moderna programmeringsspråk erbjuder stöd för ett brett utbud av datastruktur, eller tillhandahåller verktygen för att låta programmerare att koda sina egna datastrukturer.