In de informatica , algoritmen baseren op gegevens structuren om hun taken efficiënt en effectief uit te voeren . Zodra een datastructuur is op zijn plaats is gezet , kunnen algoritmen worden ontwikkeld , getest en uitgevoerd . Datastructuren en algoritmen worden gebruikt in zowat elke computer software die vandaag beschikbaar zijn . Over datastructuren informatica , een datastructuur is een manier van het organiseren en opslaan van gegevens, gegevensstructuren trachten de efficiëntie van het opslaan en ophalen van gegevens in een computer maximaliseren . Verschillende datastructuren voor verschillende taken - zijn bijvoorbeeld B - bomen vaak gebruikt voor het beheren databases , terwijl hash tabellen worden gebruikt voor compilers . Ontwerpen en implementeren van een efficiënte datastructuur is essentieel voor het ontwerpen van efficiënte algoritmen voor een computerprogramma . Over algoritmen In de informatica , een algoritme is een set van eenduidige instructies gebruikt om een specifieke output voor elk wettig krijgen - dat is , erkende - ingang . Algoritmen baseren op gegevens structuren om succesvol te zijn - moet er een datastructuur in de plaats zijn voordat algoritmes kunnen worden ontwikkeld en getest . Dit is waarom sommige computerprogrammeurs geloven dat het geheim aan het ontwikkelen van goede software is het ontwerp en het gebruik van efficiënte data structuren in plaats van slimme algoritmes . Brute Force Algoritmes < br " Brute force " types > zijn enkele van de meest fundamentele en directe algoritmen . Zoals de naam al impliceert , algoritmen brute kracht nodig de verklaring van het probleem moet worden opgelost , evenals expliciete definities van de verschillende onderdelen , om volledig te kunnen functioneren . In het programmeren van computers , zijn algoritmen brute kracht gebruikt om faculteiten berekenen , machtsverheffen , om matrices te vermenigvuldigen of te zoeken naar de belangrijkste een waarde in een opgegeven lijst . Divide ( of afname) en Conquer algoritmen Verdeel en heers zijn enkele van de meest bekende algoritmen , en ze worden meestal gebruikt om recursieve algoritmes te construeren - een soort van positieve feedback loop . Trouw aan hun naam , verdeel en heers algoritmen verdelen een probleem in twee kleinere problemen die elke gemakkelijker te behandelen en afzonderlijk op te lossen, de afzonderlijke oplossingen worden vervolgens gecombineerd om het oorspronkelijke probleem op te lossen . In verlagen en heers algoritmen , wordt het oorspronkelijke probleem verkleind tot een formaat dat het algoritme kan beheren . Zodra de oplossing is gevonden, wordt deze teruggebracht naar het oorspronkelijke probleem. Verlagen en heers algoritmes zijn ook bekend als inductieve of incrementele algoritmen . Transform and Conquer algoritmen Transform en heers algoritmen oplossen van problemen in de programmering in een van de drie manieren , alle van die inhouden dat - of het vertalen - het probleem om iets meer beheersbaar . Een transformeren en veroveren algoritme kan het probleem vormen naar een eenvoudiger voorbeeld van hetzelfde probleem in een proces dat bekend staat als "instance vereenvoudiging . " Ze kunnen ook het probleem vormen naar een nieuwe representatie van het probleem, dat heet " representatie change . " Tot slot , transformeren en veroveren algoritmes kunnen ook het probleem vertalen in een ander probleem dat is makkelijker op te lossen , dit laatste methode heet "probleem verminderen . " |