I datavetenskap , algoritmer beroende av datastrukturer för att utföra sina uppgifter effektivt och ändamålsenligt . När en datastruktur har införts , kan algoritmer utvecklas , testas och köras . Datastrukturer och algoritmer som används i nästan varje dator program som finns idag . Om datastrukturer
I datavetenskap , är en datastruktur ett sätt att organisera och lagra data , datastrukturer försöka maximera effektiviteten i att lagra och hämta data i en dator . Olika typer av datastrukturer är lämpliga för olika uppgifter - till exempel , är B-träd ofta används för att hantera databaser , medan hash tabeller används för kompilatorer . Utforma och genomföra en effektiv datastruktur är nödvändig för att utforma effektiva algoritmer för ett datorprogram .
Om Algoritmer
I datavetenskap är en algoritm en uppsättning entydiga instruktioner används för att få en viss utgång för alla legitima - som är erkänt - ingång . Algoritmer beroende datastrukturer för att lyckas - det måste finnas en datastruktur på plats innan algoritmer kan utvecklas och testas . Detta är varför vissa programmerare tror att hemligheten till att utveckla bra programvara ligger i utformningen och tillämpningen av effektiva datastrukturer snarare än smarta algoritmer .
Brute Force Algoritmer
" brute force"- typer är några av de mest grundläggande och direkta algoritmer . Som namnet antyder , brute force algoritmer kräver förklaring av problemet som ska lösas , liksom uttryckliga definitioner av dess olika komponenter , för att fungera korrekt . I datorprogrammering , är brute force algoritmer som används för att beräkna fakulteter , exponentiering , att multiplicera matriser eller för att söka efter ett värde för nyckel i en viss lista . Och
Divide (eller minskning ) Conquer Algoritmer
Söndra och erövra är några av de mest kända algoritmer , och de är oftast används för att konstruera rekursiva algoritmer - en slags positiv feedback loop . Sann till sitt namn , dela och erövra algoritmer dela upp ett problem i två mindre problem som var lättare att hantera och lösa sig , de separata lösningarna kombineras sedan för att lösa det ursprungliga problemet . I minskar och erövra algoritmer , är det ursprungliga problemet skalas ner till en storlek som algoritmen kan hantera . När lösningen hittas , är det skalas tillbaka upp för att lösa det ursprungliga problemet . Minskning och erövra algoritmer kallas även induktiva eller inkrementella algoritmer .
Transform and Conquer Algoritmer
Transform och erövra algoritmer lösa problem i programmering i ett av tre sätt , alla varav involverar omvandla - eller översätta - problemet till något mer hanterbart . En förändra och erövra algoritm kan förvandla problemet till ett enklare exempel på samma problem i en process som kallas " instans förenkling . " De kan också förvandla problemet till en ny representation av problemet , som kallas " representation förändras." Slutligen , transformera och erövra algoritmer också kan översätta problemet till ett annat problem som är lättare att lösa , denna sista metod kallas
Addera ditt " problem minskning . "