Binnen de datawetenschap zijn algoritmes en datastructuren de functie en opslag van dataverzameling. Hoewel kennis van coderen en toegepaste wiskunde van pas komen als je deze structuren leert, zijn er ook genoeg boeken voor complete beginners. Veel van deze (Engelstalige) boeken richten zich op een specifieke basis en structuur om het leren te vergemakkelijken, en maken gebruik van praktijkvoorbeelden en code om de theorie van het onderwerp te verduidelijken. Zodra je een idee hebt van de grondbeginselen van datawetenschap is het leren van algoritmes een uitstekende vervolgstap.
In dit artikel worden een aantal boeken over algoritmes en structuren behandeld voor beginners tot gevorderden.
1. 'Introduction to Algorithms' van Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest en Clifford Stein
Auteurs: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest en Clifford Stein
Website: Amazon
'Introduction to Algorithms' bevat een uitgebreid overzicht en een uitgebreide handleiding voor algoritmes in het algemeen. Het fungeert als encyclopedisch naslagwerk voor moderne algoritmes en behandelt uitgebreid (meer dan 1000 pagina's) alles van theorie tot praktijk.
Het boek is erg praktisch, gebruikt diagrammen en bewijzen om problemen begrijpelijk te illustreren, implementeert algoritmes en analyseert de theorie achter de resultaten. 'Introduction' gaat ervan uit dat de lezer redelijk bekend is met wiskunde en datastructuren. Zo niet, dan kan dit een behoorlijk pittig boek zijn.
2. 'Algorithms Unlocked' van Thomas H. Cormen
Auteur: Thomas H. Cormen
Website: Amazon
'Algorithms Unlocked' van auteur Thomas Cormen probeert het mysterie van technologie weg te nemen door te laten zien hoe het werkt. We nemen ontzettend veel voor lief, zoals automatische gps-routes en internetversleuteling, die allemaal toegepaste algoritmes gebruiken om te functioneren.
In het boek wordt uitgelegd hoe computers algoritmes gebruiken om problemen op te lossen en veel van de technologische taken neerzetten die wij in ons dagelijks leven zien. Er wordt dieper ingegaan op wat computeralgoritmes precies zijn en op hoe algoritmes gebruikt kunnen worden om eenvoudige taken uit te voeren, zoals zoeken, sorteren en grafisch weergeven. Het is een uitstekende bron voor iedereen die geïnteresseerd is in hoe algoritmes werken in een moderne wereld.
3. 'The Algorithm Design Manual' van Steven S. Skiena
Auteur: Steven S. Skiena
Website: Amazon
'The Algorithm Design Manual' is een inleiding in het zelf van nul af aan creëren van algoritmes. Het behandelt niet alleen de theorie achter algoritme-ontwerp, maar gebruikt ook voorbeelden en op de praktijk gerichte oefeningen om je eigen referentiepunten en ervaring te creëren. Skiena introduceert 'pseudo-code', code die eenvoudig aangepast kan worden naar de verschillende programmeertalen die gebruikt worden in algoritmes. De auteur behandelt een uitgebreide reeks moderne algoritmes, zoals grafische theorie, rekenkundige geometrie en multi-algoritmes.
Het boek is opgesplitst in twee delen: 'Techniques' en 'Resources'. In het eerste deel, Techniques, wordt de lezer geïnstrueerd hoe algoritmes te ontwerpen en analyseren. In Recources, het tweede deel, is eigenlijk een naslagwerk met 75 van de meest voorkomende algoritmische problemen, evenals implementaties in C/C++ en Java, die je wanneer nodig kunt raadplegen.
4. 'Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles' van Narasimha Karumanchi
Auteur: Narasimha Karumanchi
Website: Amazon
Dit boek is meer een gids om weer even je kennis op te frissen in de aanloop naar bijvoorbeeld interviews, examens of certificering, en bespreekt veelvoorkomende algoritmeproblemen en de oplossingen daarvoor. Het behandelt de basisprincipes van datastructuren en hoe algoritmes werken, maar leert de lezers ook hoe zij die zelf kunnen schrijven.
Om de oefeningen te kunnen maken, is kennis van wiskunde en C/C++ nodig. Dit boek (meer dan 400 pagina's en 20 hoofdstukken) is in principe een werkboek voor het oplossen van algoritmische problemen.
5. 'Grokking Algorithms: An illustrated guide for programmers and other curious people' van Aditya Bhargava
Auteur: Aditya Bhargava
Website: Amazon
Dit is een praktisch boek voor programmeurs die meer willen leren over algoritmes en hoe ze veelvoorkomende problemen kunnen oplossen. Het boek behandelt een aantal van de meest voorkomende en praktische algoritmes zoals sorteren en zoeken, en werkt omhoog naar moeilijker problemen met betrekking tot datacompressie en kunstmatige intelligentie.
De illustraties die de algoritmes vergezellen, zijn ideaal voor personen die visueel leren en bevatten walkthroughs van elke fase van het proces. Elk voorbeeld bevat codevoorbeelden in Python. Het is niet bedoeld voor de absolute beginner, maar kan zeker dienstdoen als handleiding of opfrismateriaal voor degenen die al bekend zijn met programmeren.
6. 'Algorithms' van Robert Sedgewick en Kevin Wayne
Auteurs: Robert Sedgewick en Kevin Wayne
Website: Amazon
Een eenvoudige titel voor een niet zo eenvoudig boek. 'Algorithms' is een breed concept en het boek zet dan ook breed in. Dit uitgebreide handboek behandelt algoritmes en datastructuren tot in de kleinste details, wat het een inzichtelijke bron maakt voor academische instellingen. Er is zelfs een onlineportal inbegrepen met een volledig werkende broncode.
Het boek behandelt verschillende datatypes en hoe ze kunnen worden gesorteerd en geanalyseerd, en belicht belangrijke algoritmes die handig zijn voor zoeken, sorteren en verwerken. Ook is er een bijbehorende website met oefeningen, testdata, visualisaties en de volledige Java-code. Omdat het boek zo studiegericht is en gebruikt wordt in onderwijsomgevingen, wordt het gebruikt als handboek voor beginners.
7. 'Advanced Data Structures' van Peter Brass
Auteur: Peter Brass
Website: Amazon
In 'Advanced Data Structures' wordt het belang van datastructuren in algoritmes en het optimaliseren van zoekopdrachten onderstreept. Het is niet voor de allerminsten, aangezien het tekstboek op afstudeerniveau bedoeld is voor gevorderde lezers en mensen die ervaring hebben in de datawetenschap. Het duikt in de complexiteiten van dataopslag binnen data-analyse.
Het boek behandelt de verschillende datastructuren en -varianten tot in detail en bespreekt onder andere stacks, wachtrijen, hashtabellen en search trees. Het bevat zelfs meer gespecialiseerde structuren zoals intervalbomen. De hoofdstukken bevatten werkende codevoorbeelden in C en referenties om het werk te ondersteunen. Dit is een leerboek voor de fijne kneepjes van data-opslag, dus verwacht een hoog niveau van detail en volledigheid.
8. 'Automate This: How Algorithms Came To Rule Our World' van Christopher Steiner
Auteur: Christopher Steiner
Website: Chris Steiner | Amazon
Dit is niet echt een naslagwerk of introductie zoals de meeste boeken over algoritmes, maar meer een historische kijk op hoe algoritmes steeds prominenter zijn geworden in ons leven en uiteindelijk gespecialiseerde taken zijn gaan automatiseren die eerder met de hand gedaan werden.
Algoritmes assisteren nu bij het autorijden, verrijken entertainmentmedia en voorspellen menselijk gedrag. Dit boek is meer een bespreking van de geheimzinnige algoritmes en plaatst deze in een toegankelijke culturele context.
Disclaimer: Tableau ondersteunt de producten die op deze website genoemd worden en de meningen die daarin vermeld worden niet, en als zodanig is deze pagina niet betrokken bij partnerprogramma's. Dit artikel is uitsluitend bedoeld voor educatieve doeleinden en de bovenstaande informatie over producten en publicaties wordt ter beschikking gesteld zodat lezers zelf weloverwogen beslissingen kunnen nemen.