Search results for "Python Exercises with Data Structures and Algorithms"
Items we need to order for you

Introduction to Data Structures and Algorithms
Data structures and algorithms are presented at the college level in a highly accessible format that presents material with one-page displays in a way that will appeal to both teachers and students. The thirteen chapters cover: Models of Computation, Lists, Induction and Recursion, Trees, Algorithm Design, Hashing, Heaps, Balanced Trees, Sets Over a Small Universe, Graphs, Strings, Discrete Fourier Transform, Parallel Computation. Key features: Complicated concepts are expressed clearly in a single page with minimal notation and without the "clutter" of the syntax of a particular programming language; algorithms are presented with self-explanatory "pseudo-code." * Chapters 1-4 focus on elementary concepts, the exposition unfolding at a slower pace. Sample exercises with solutions are provided. Sections that may be skipped for an introductory course are starred. Requires only some basic mathematics background and some computer programming experience. * Chapters 5-13 progress at a faster pace. The material is suitable for undergraduates or first-year graduates who need only review Chapters 1 -4. * This book may be used for a one-semester introductory course (based on Chapters 1-4 and portions of the chapters on algorithm design, hashing, and graph algorithms) and for a one-semester advanced course that starts at Chapter 5. A year-long course may be based on the entire book. * Sorting, often perceived as rather technical, is not treated as a separate chapter, but is used in many examples (including bubble sort, merge sort, tree sort, heap sort, quick sort, and several parallel algorithms). Also, lower bounds on sorting by comparisons are included with the presentation of heaps in the context of lower bounds for comparison-based structures. * Chapter 13 on parallel models of computation is something of a mini-book itself, and a good way to end a course. Although it is not clear what parallel
R 1,673.12

Algorithms and Data Structures
Algorithms are at the heart of every nontrivial computer application, and algorithmics is a modern and active area of computer science. Every computer scientist and every professional programmer should know about the basic algorithmic toolbox: structures that allow efficient organization and retrieval of data, frequently used algorithms, and basic techniques for modeling, understanding and solving algorithmic problems. This book is a concise introduction addressed to students and professionals familiar with programming and basic mathematical language. Individual chapters cover arrays and linked lists, hash tables and associative arrays, sorting and selection, priority queues, sorted sequences, graph representation, graph traversal, shortest paths, minimum spanning trees, and optimization. The algorithms are presented in a modern way, with explicitly formulated invariants, and comment on recent trends such as algorithm engineering, memory hierarchies, algorithm libraries and certifying algorithms. The authors use pictures, words and high-level pseudocode to explain the algorithms, and then they present more detail on efficient implementations using real programming languages like C++ and Java.The authors have extensive experience teaching these subjects to undergraduates and graduates, and they offer a clear presentation, with examples, pictures, informal explanations, exercises, and some linkage to the real world. Most chapters have the same basic structure: a motivation for the problem, comments on the most important applications, and then simple solutions presented as informally as possible and as formally as necessary. For the more advanced issues, this approach leads to a more mathematical treatment, including some theorems and proofs. Finally, each chapter concludes with a section on further findings, providing views on the state of research, generalizations and advanced solutions.
R 2,097.38

Data Structures and Algorithms: A First Course
All young computer scientists who aspire to write programs must learn something about algorithms and data structures. This book does exactly that. Based on lecture courses developed by the author over a number of years the book is written in an informal and friendly way specifically to appeal to students. The book is divided into four parts: the first on Data Structures introduces a variety of structures and the fundamental operations associated with them, together with descriptions of how they are implemented in Pascal; the second discusses algorithms and the notion of complexity; Part III is concerned with the description of successively more elaborate structures for the storage of records and algorithms for retrieving a record from such a structure by means of its key; and finally, Part IV consists of very full solutions to nearly all the exercises in the book.
R 1,577.39

R 293.85

R 1,285.35

Python Algorithms
Python Algorithms, Second Edition explains the Python approach to algorithm analysis and design. Written by Magnus Lie Hetland, author of Beginning Python, this book is sharply focused on classical algorithms, but it also gives a solid understanding of fundamental algorithmic problem-solving techniques. The book deals with some of the most important and challenging areas of programming and computer science in a highly readable manner. It covers both algorithmic theory and programming practice, demonstrating how theory is reflected in real Python programs. Well-known algorithms and data structures that are built into the Python language are explained, and the user is shown how to implement and evaluate others.
R 2,478.99


Think Data Structures
If you’re a student studying computer science or a software developer preparing for technical interviews, this practical book will help you learn and review some of the most important ideas in software engineering—data structures and algorithms—in a way that’s clearer, more concise, and more engaging than other materials. By emphasizing practical knowledge and skills over theory, author Allen Downey shows you how to use data structures to implement efficient algorithms, and then analyze and measure their performance. You’ll explore the important classes in the Java collections framework (JCF), how they’re implemented, and how they’re expected to perform. Each chapter presents hands-on exercises supported by test code online. Use data structures such as lists and maps, and understand how they work Build an application that reads Wikipedia pages, parses the contents, and navigates the resulting data tree Analyze code to predict how fast it will run and how much memory it will require Write classes that implement the Map interface, using a hash table and binary search tree Build a simple web search engine with a crawler, an indexer that stores web page contents, and a retriever that returns user query results Other books by Allen Downey include Think Java, Think Python, Think Stats, and Think Bayes.
R 1,384.00

R 1,916.48


Data Structures, Algorithms, and Invariants
Data Structures, Algorithms, and Invariants: A Practical Guide provides students with the knowledge and understanding they need to make sensible decisions regarding the choice of an abstract data type (ADT) for particular use cases. The book is a practical guide that helps readers with the process of building a software application utilizing a variety of list-based, tree-based, and graph-based ADTs.The opening chapters discuss solving problems, the concept of computational complexity, different types of ADTs, and why they are needed in software development. Additional chapters address unordered, positional, and ordered ADTs, the process of sorting, ways of determining order, and graphs. Each chapter features an introduction, learning objectives, key terms, takeaways, QR codes that link out to additional content such as videos, and chapter review questions to support the reading and learning experience. Additionally, students gain access to a companion source code repository that provides implementations of many of the ADTs.Data Structures, Algorithms, and Invariants is an ideal textbook for data structure and algorithms courses in information science, data science, and programming.
R 3,143.19

Algorithms and Data Structures
With numerous practical, real-world algorithms presented in the C programming language, Bowman's Algorithms and Data Structures: An Approach in C is the algorithms text for courses that take a modern approach. For the one- or two-semester undergraduate course in data structures, it instructs students on the science of developing and analysing algorithms. Bowman focuses on both the theoretical and practical aspects of algorithm development. He discusses problem-solving techniques and introduces the concepts of data abstraction and algorithm efficiency. More importantly, the text does not present algorithms in a "shopping-list" format. Rather it provides actual insight into the design process itself
R 6,267.00

Sequential and Parallel Algorithms and Data Structures
This textbook is a concise introduction to the basic toolbox of structures that allow efficient organization and retrieval of data, key algorithms for problems on graphs, and generic techniques for modeling, understanding, and solving algorithmic problems. The authors aim for a balance between simplicity and efficiency, between theory and practice, and between classical results and the forefront of research. Individual chapters cover arrays and linked lists, hash tables and associative arrays, sorting and selection, priority queues, sorted sequences, graph representation, graph traversal, shortest paths, minimum spanning trees, optimization, collective communication and computation, and load balancing. The authors also discuss important issues such as algorithm engineering, memory hierarchies, algorithm libraries, and certifying algorithms. Moving beyond the sequential algorithms and data structures of the earlier related title, this book takes into account the paradigm shift towards the parallel processing required to solve modern performance-critical applications and how this impacts on the teaching of algorithms. The book is suitable for undergraduate and graduate students and professionals familiar with programming and basic mathematical language. Most chapters have the same basic structure: the authors discuss a problem as it occurs in a real-life situation, they illustrate the most important applications, and then they introduce simple solutions as informally as possible and as formally as necessary so the reader really understands the issues at hand. As they move to more advanced and optional issues, their approach gradually leads to a more mathematical treatment, including theorems and proofs. The book includes many examples, pictures, informal explanations, and exercises, and the implementation notes introduce clean, efficient implementations in languages such as C++ and Java.
R 2,015.00

Algorithms and Data Structures
This book constitutes the refereed proceedings of the 16th International Symposium on Algorithms and Data Structures, WADS, 2019, held in Edmonton, AB, Canada, in August 2019. The 42 full papers presented together with 3 invited lectures, we carefully reviewed and selected from a total of 88 submissions. They present original research on the theory and application of algorithms and data structures in many areas, including combinatorics, computational geometry, databases, graphics, and parallel and distributed computing.
R 2,224.60

Sequential and Parallel Algorithms and Data Structures
This textbook is a concise introduction to the basic toolbox of structures that allow efficient organization and retrieval of data, key algorithms for problems on graphs, and generic techniques for modeling, understanding, and solving algorithmic problems. The authors aim for a balance between simplicity and efficiency, between theory and practice, and between classical results and the forefront of research. Individual chapters cover arrays and linked lists, hash tables and associative arrays, sorting and selection, priority queues, sorted sequences, graph representation, graph traversal, shortest paths, minimum spanning trees, optimization, collective communication and computation, and load balancing. The authors also discuss important issues such as algorithm engineering, memory hierarchies, algorithm libraries, and certifying algorithms. Moving beyond the sequential algorithms and data structures of the earlier related title, this book takes into account the paradigm shift towards the parallel processing required to solve modern performance-critical applications and how this impacts on the teaching of algorithms. The book is suitable for undergraduate and graduate students and professionals familiar with programming and basic mathematical language. Most chapters have the same basic structure: the authors discuss a problem as it occurs in a real-life situation, they illustrate the most important applications, and then they introduce simple solutions as informally as possible and as formally as necessary so the reader really understands the issues at hand. As they move to more advanced and optional issues, their approach gradually leads to a more mathematical treatment, including theorems and proofs. The book includes many examples, pictures, informal explanations, and exercises, and the implementation notes introduce clean, efficient implementations in languages such as C++ and Java.
R 2,015.00

R 409.00

Data Structures and Algorithms
This textbook provides an in depth course on data structures in the context of object oriented development. Its main themes are abstraction, implementation, encapsulation, and measurement: that is, that the software process begins with abstraction of data types, which then lead to alternate representations and encapsulation, and finally to resource measurement. A clear object oriented approach, making use of Booch components, will provide readers with a useful library of data structure components and experience in software reuse. Students using this book are expected to have a reasonable understanding of the basic logical structures such as stacks and queues. Throughout, Ada 95 is used and the author takes full advantage of Ada's encapsulation features and the ability to present specifications without implementational details. Ada code is supported by two suites available over the World Wide Web.
R 2,015.00


Algorithms and Data Structures
This book constitutes the refereed proceedings of the 10th International Workshop on Algorithms and Data Structures, WADS 2007, held in Halifax, Canada, in August 2007. The papers present original research on the theory and application of algorithms and data structures in all areas, including combinatorics, computational geometry, databases, graphics, parallel and distributed computing.
R 3,099.49

Data Structures using Python
Data Structures using Python provides an introduction to design, analysis, and implementation of data structures using the powerful language Python. This book is designed for a first course on the subject. It is written for the undergraduate engineering students of Computer Science, Information Technology and allied disciplines.The book begins with an overview of the concept, need, nomenclature followed by discussion of Arrays, Stacks, Queues, Double Ended Queues, Linked List - all under a chapter on Linear Data Structures. This is followed by a chapter on Non-linear Data Structures where Heap, Hash Table, Trie, and Disjoint Sets are discussed. Trees, though a non-linear data structure, is discussed as a separate chapter to emphasize upon its importance. The last few chapters of the book discusses Graphs, Searching,and Sorting finally ending with an appendix on Python built-in class functions.
R 2,795.00

Quick Data Structures
If you want to upgrade your programming skills, the most important thing you need is a solid understanding of fundamental data structures. The proper choice of data structures distinguishes excellent programmers from merely competent ones.As an experienced programmer, you use data structures—at least arrays—all the time. However, you may not be familiar with hash tables, trees and binary trees, priority queues, directed and undirected graphs, and other data structures at your disposal.A good choice of data structures will simplify your job, not complicate it. Your code will be not only faster but also easier to understand and debug. There is no downside to using the right data structures for the job.This book Provides an understanding of the fundamental building blocks of data structures Describes the construction and use of all common data structures Explains the simple math required for selecting efficient data structures Equips you with everything you need to choose data structures or devise appropriate new ones
R 1,436.43

Algorithms and Data Structures
Algorithms are at the heart of every nontrivial computer application, and algorithmics is a modern and active area of computer science. Every computer scientist and every professional programmer should know about the basic algorithmic toolbox: structures that allow efficient organization and retrieval of data, frequently used algorithms, and basic techniques for modeling, understanding and solving algorithmic problems. This book is a concise introduction addressed to students and professionals familiar with programming and basic mathematical language. Individual chapters cover arrays and linked lists, hash tables and associative arrays, sorting and selection, priority queues, sorted sequences, graph representation, graph traversal, shortest paths, minimum spanning trees, and optimization. The algorithms are presented in a modern way, with explicitly formulated invariants, and comment on recent trends such as algorithm engineering, memory hierarchies, algorithm libraries and certifying algorithms. The authors use pictures, words and high-level pseudocode to explain the algorithms, and then they present more detail on efficient implementations using real programming languages like C++ and Java.The authors have extensive experience teaching these subjects to undergraduates and graduates, and they offer a clear presentation, with examples, pictures, informal explanations, exercises, and some linkage to the real world. Most chapters have the same basic structure: a motivation for the problem, comments on the most important applications, and then simple solutions presented as informally as possible and as formally as necessary. For the more advanced issues, this approach leads to a more mathematical treatment, including some theorems and proofs. Finally, each chapter concludes with a section on further findings, providing views on the state of research, generalizations and advanced solutions.
R 1,827.22

Quick Data Structures
If you want to upgrade your programming skills, the most important thing you need is a solid understanding of fundamental data structures. The proper choice of data structures distinguishes excellent programmers from merely competent ones.As an experienced programmer, you use data structures—at least arrays—all the time. However, you may not be familiar with hash tables, trees and binary trees, priority queues, directed and undirected graphs, and other data structures at your disposal.A good choice of data structures will simplify your job, not complicate it. Your code will be not only faster but also easier to understand and debug. There is no downside to using the right data structures for the job.This book Provides an understanding of the fundamental building blocks of data structures Describes the construction and use of all common data structures Explains the simple math required for selecting efficient data structures Equips you with everything you need to choose data structures or devise appropriate new ones
R 5,623.76

Algorithms and Data Structures
The papers in this volume were presented at the Seventh Workshop on Al- rithms and Data Structures (WADS 2001). The workshop took place August 8-10, 2001 in Providence, Rhode Island, USA. The workshop alternates with the Scandinavian Workshop on Algorithms Theory (SWAT), continuing the t- dition of SWAT and WADS starting with SWAT '88 and WADS '89. In response to the call for papers, 89 papers were submitted. From these submissions, the program committee selected 40 papers for presentation at the workshop. In addition invited plenary lectures were given by the following - stinguished researchers: Mikhail J. Atallah, F. Thomson Leighton, and Mihalis Yannakakis. On behalf of the program committee, we would like to express our apprec- tion to the invited speakers and to all the authors who submitted papers. August 2001 Frank Dehne J.. org-Rudiger .. Sack Roberto Tamassia Organization Conference Chair Roberto Tamassia (Brown) Program Committee Chairs Frank Dehne (Carleton) J.. org-Rudiger .. Sack (Carleton) Roberto Tamassia (Brown) Program Committee Alberto Apostolico (Purdue, Padova) Giuseppe Liotta (Perugia) Timothy Chan (Waterloo) Ernst W. Mayr (Munc .. hen) Bruno Codenotti (IMC) Joseph S.B. Mitchell (SUNY) Giuseppe Di Battista (Roma Tre) Stefan N.. aher (Trier) Shlomi Dolev (Ben-Gurion) Takao Nishizeki (Tohoku) Martin Farach-Colton Viktor K. Prasanna (USC) (Rutgers, Google) Enrico Puppo (Genova) Pierre Fraigniaud (LRI) Jose Rolim (Geneva) Harold N. Gabow (Colorado) Jack Snoeyink (UNC) Sally A. Goldman (Washington) Ioannis G. Tollis (UTD) Michael T.
R 1,589.28

Object-Oriented Approach to Problem Solving and Machine Learning with Python
This book is a comprehensive guide suitable for beginners and experienced developers alike. It teaches readers how to master object-oriented programming (OOP) with Python and use it in real-world applications.Start by solidifying your OOP foundation with clear explanations of core concepts such as use cases and class diagrams. This book goes beyond theory as you get practical examples with well-documented source code available in the book and on GitHub.This book doesn’t stop at the basics. Explore how OOP empowers fields such as data persistence, graphical user interfaces (GUIs), machine learning, and data science, including social media analysis. Learn about machine learning algorithms for classification, regression, and unsupervised learning, putting you at the forefront of AI innovation.Each chapter is designed for hands-on learning. You’ll solidify your understanding with case studies, exercises, and projects that apply your newfound knowledge to real-world scenarios. The progressive structure ensures mastery, with each chapter building on the previous one, reinforced by exercises and projects.Numerous code examples and access to the source code enhance your learning experience. This book is your one-stop shop for mastering OOP with Python and venturing into the exciting world of machine learning and data science.
R 5,684.70

Fabulous Adventures in Data Structures and Algorithms
Get a free eBook (PDF or ePub) from Manning as well as access to the online liveBook format (and its AI assistant that will answer your questions in any language) when you purchase the print book. There's a lot more to algorithms than the useful-but-boring recipes you recite for every interview. This unique book introduces a collection of amazing algorithms that have the potential to change the way you program. In this book, language designer and C# legend Eric Lippert explores exciting, esoteric, and exotic data structures and algorithms that will expand your programming toolbox and your horizons. You'll upend the way you think about lists, learn the algorithms behind powerful developer tools, and rethink how to handle stochastic quantities in modern programming languages. Fabulous Adventures in Data Structures and Algorithms shows you how to: Build efficient, double-ended queues from immutable partsAuto-format structured text so it always looks sharpGenerate and manipulate random numbers from custom distributions using the same tools you use for sequencesHarness immutability to squeeze data smaller while speeding up repeated computationsUncover the mathematical structures underlying lists, nullables, functions, tasks, and probabilitiesAbout the book Fabulous Adventures in Data Structures and Algorithms teaches you how to solve programming challenges with lesser-known algorithmic approaches. You'll begin by examining immutable data structures--stacks, queues, deques, and unusual constructions like Hughes lists--that take on conventional assumptions about performance. Next, you'll investigate algorithms drawn from building developer tools, from backtracking search in graph coloring to unification and anti-unification. Finally, you'll venture into randomness, developing data structures and algorithms for discrete and continuous distributions, sequence operations on probability distributions, and Bayesian reasoning. About the reader For working programmers who know C#, Java, Python, or similar object-oriented language. Examples in C#. About the author Eric Lippert designed programming languages, compilers, and other developer tools for Microsoft, Coverity, and Facebook. He's been on the design and/or implementation and/or specification teams for Visual Basic, JavaScript, VBScript, C#, Hack, and Bean Machine. Eric's popular blog about language design, data structures and algorithms, and other "fabulous adventures in coding," which you can read at ericlippert.com, has enjoyed a twenty-year run.
R 2,279.00

Object-Oriented Approach to Problem Solving and Machine Learning with Python
This book is a comprehensive guide suitable for beginners and experienced developers alike. It teaches readers how to master object-oriented programming (OOP) with Python and use it in real-world applications.Start by solidifying your OOP foundation with clear explanations of core concepts such as use cases and class diagrams. This book goes beyond theory as you get practical examples with well-documented source code available in the book and on GitHub.This book doesn’t stop at the basics. Explore how OOP empowers fields such as data persistence, graphical user interfaces (GUIs), machine learning, and data science, including social media analysis. Learn about machine learning algorithms for classification, regression, and unsupervised learning, putting you at the forefront of AI innovation.Each chapter is designed for hands-on learning. You’ll solidify your understanding with case studies, exercises, and projects that apply your newfound knowledge to real-world scenarios. The progressive structure ensures mastery, with each chapter building on the previous one, reinforced by exercises and projects.Numerous code examples and access to the source code enhance your learning experience. This book is your one-stop shop for mastering OOP with Python and venturing into the exciting world of machine learning and data science.
R 2,982.49

R 720.00

R 519.00


Algorithms and Data Structures
This book constitutes the refereed proceedings of the 15th Algorithms and Data Structures Symposium, WADS 2017, held in St. John's, NL, Canada, in July/August 2017. The 49 full papers presented together with 3 abstracts of invited talks were carefully reviewed and selected from 109 submissions. They present original research on the theory and application of algorithms and data structures in many areas, including combinatorics, computational geometry, databases, graphics, and parallel and distributed computing.The WADS Symposium, which alternates with the Scandinavian Symposium and Workshops on Algorithm Theory, SWAT, is intended as a forum for researchers in the area of design and analysis of algorithms and data structures. Papers presenting original research on the theory and application of algorithms and data structures
R 2,224.60

Hands-On Data Structures and Algorithms with Kotlin
Understand and solve complex computational problems and write efficient code with KotlinKey FeaturesLearn about important data structures such as lists, arrays, queues, and stacksDesign custom algorithms for real-life implementationsIdentify suitable tools for different scenarios and deliver immediate resultsBook DescriptionData structures and algorithms are more than just theoretical concepts. They help you become familiar with computational methods for solving problems and writing logical code. Equipped with this knowledge, you can write efficient programs that run faster and use less memory.Hands-On Data Structures and Algorithms with Kotlin book starts with the basics of algorithms and data structures, helping you get to grips with the fundamentals and measure complexity. You'll then move on to exploring the basics of functional programming while getting used to thinking recursively. Packed with plenty of examples along the way, this book will help you grasp each concept easily. In addition to this, you'll get a clear understanding of how the data structures in Kotlin's collection framework work internally.By the end of this book, you will be able to apply the theory of data structures and algorithms to work out real-world problems.What you will learnUnderstand the basic principles of algorithms and data structuresExplore general-purpose data structures with arrays and linked listsGet to grips with the basics of stacks, queues, and double-ended queuesUnderstand functional programming and related data structuresUse performant searching and efficient sortingUncover how Kotlin's collection framework functionsBecome adept at implementing different types of mapsWho this book is forIf you're a Kotlin developer who wants to learn the intricacies of implementing data structures and algorithms for scalable application development, this book is for you.
R 1,335.00

R 580.00

Algorithms and Data Structures
This book constitutes the refereed proceedings of the 17th International Symposium on Algorithms and Data Structures, WADS 2021, held in virtually in August 2021. The 47 full papers, presented together with two invited lectures, were carefully reviewed and selected from a total of 123 submissions. They present original research on the theory, design and application of algorithms and data structures.
R 4,335.68

Functional Data Structures and Algorithms
This book is an introduction to data structures and algorithms for functional programming languages, with a focus on proofs. Starting with sorting and searching, it moves on to priority queues and advanced design and analysis techniques: dynamic programming, amortized analysis, splay trees, skew heaps and pairing heaps. The final part of the book covers a number of selected fun topics: graph algorithms, string search, Huffman's algorithm for generating optimal codes and alpha-beta pruning of game trees. The book covers both correctness (does the algorithm do what it is supposed to do?) and running time analysis (does the algorithm terminate within a specified number of steps?). It does so in a unified manner with inductive proofs about functional programs and their running time functions. What sets this book apart from existing books on algorithms is that all proofs have been machine-checked, by the proof assistant Isabelle. That is, in addition to the text in the book, which requires no knowledge of proof assistants!, the Isabelle definitions and proofs are available online. The structured nature of Isabelle proofs permits even novices to follow the high-level arguments. This book is aimed at teachers and students (it has been classroom-tested for a number of years) but is also a reference work for programmers and researchers who are interested in the (verified!) details of some algorithm or proof.
R 2,441.00

Textbook of Data Structures and Algorithms, Volume 3
Data structures and algorithms is a fundamental course in Computer Science, which enables learners across any discipline to develop the much-needed foundation of efficient programming, leading to better problem solving in their respective disciplines. A Textbook of Data Structures and Algorithms is a textbook that can be used as course material in classrooms, or as self-learning material. The book targets novice learners aspiring to acquire advanced knowledge of the topic. Therefore, the content of the book has been pragmatically structured across three volumes and kept comprehensive enough to help them in their progression from novice to expert. With this in mind, the book details concepts, techniques and applications pertaining to data structures and algorithms, independent of any programming language. It includes 181 illustrative problems and 276 review questions to reinforce a theoretical understanding and presents a suggestive list of 108 programming assignments to aid in the implementation of the methods covered.
R 5,373.00

Algorithms and Data Structures
This volume constitutes the proceedings of the Fourth International Workshop on Algorithms and Data Structures, WADS '95, held in Kingston, Canada in August 1995.The book presents 40 full refereed papers selected from a total of 121 submissions together with invited papers by Preparata and Bilardi, Sharir, Toussaint, and Vitanyi and Li. The book addresses various aspects of algorithms, data structures, computational geometry, scheduling, computational graph theory, and searching.
R 1,594.28

Introduction to Python Programming and Data Structures, Global Edition
For introductory courses in Python Programming and Data Structures. A fundamentals first approach to programming helps students create efficient, elegant code. Introduction to Python Programming and Data Structures introduces students to basic programming concepts using a fundamentals-first approach that prepares students to learn object-oriented programming and advanced Python programming. This approach presents programming concepts and techniques that include control statements, loops, functions, and arrays before designing custom classes. Students learn basic logic and programming concepts prior to moving into object-oriented and GUI programming. The content incorporates a wide variety of problems with various levels of difficulty and covers many application areas to engage and motivate students.
R 3,391.00

Functional Data Structures and Algorithms
This book is an introduction to data structures and algorithms for functional programming languages, with a focus on proofs. Starting with sorting and searching, it moves on to priority queues and advanced design and analysis techniques: dynamic programming, amortized analysis, splay trees, skew heaps and pairing heaps. The final part of the book covers a number of selected fun topics: graph algorithms, string search, Huffman's algorithm for generating optimal codes and alpha-beta pruning of game trees. The book covers both correctness (does the algorithm do what it is supposed to do?) and running time analysis (does the algorithm terminate within a specified number of steps?). It does so in a unified manner with inductive proofs about functional programs and their running time functions. What sets this book apart from existing books on algorithms is that all proofs have been machine-checked, by the proof assistant Isabelle. That is, in addition to the text in the book, which requires no knowledge of proof assistants!, the Isabelle definitions and proofs are available online. The structured nature of Isabelle proofs permits even novices to follow the high-level arguments. This book is aimed at teachers and students (it has been classroom-tested for a number of years) but is also a reference work for programmers and researchers who are interested in the (verified!) details of some algorithm or proof.
R 1,790.00

Mastering Algorithms with Python
Gain a solid understanding of algorithms and improve your problem-solving abilities using Python code. With practical examples and clear explanations, this book bridges the gap between dense academic texts and overly simple industry guides. Focusing on the logic behind essential algorithms such as Breadth First Search (BFS), Depth First Search (DFS), Divide-and-Conquer, Greedy Methods, and Dynamic Programming, the book provides ample examples, from easy to more advanced. By connecting these concepts to real-world examples, such as chess strategies and the Seam Carving, the book helps readers better grasp and apply algorithms. Each chapter also includes fully implemented Python code, making it a practical reference. Mastering Algorithms with Python is ideal for IT professionals looking to enhance their skills and approach algorithms with clarity and confidence. What You Will Learn - - - - Who This Book Is For Software developers, data scientists, machine learning professionals and any curious learners about computer algorithms.
R 912.00

R 1,273.21


Algorithms and Data Structures
This book constitutes the refereed proceedings of the 14th Algorithms and Data Structures Symposium, WADS 2015, held in Victoria, BC, Canada, August 2015. The 54 revised full papers presented in this volume were carefully reviewed and selected from 148 submissions. The Algorithms and Data Structures Symposium - WADS (formerly Workshop on Algorithms And Data Structures), which alternates with the Scandinavian Workshop on Algorithm Theory, is intended as a forum for researchers in the area of design and analysis of algorithms and data structures. WADS includes papers presenting original research on algorithms and data structures in all areas, including bioinformatics, combinatorics, computational geometry, databases, graphics, and parallel and distributed computing.
R 1,614.56

Learn Data Structures and Algorithms with Golang
Explore Golang's data structures and algorithms to design, implement, and analyze code in the professional settingKey FeaturesLearn the basics of data structures and algorithms and implement them efficientlyUse data structures such as arrays, stacks, trees, lists and graphs in real-world scenariosCompare the complexity of different algorithms and data structures for improved code performanceBook DescriptionGolang is one of the fastest growing programming languages in the software industry. Its speed, simplicity, and reliability make it the perfect choice for building robust applications. This brings the need to have a solid foundation in data structures and algorithms with Go so as to build scalable applications. Complete with hands-on tutorials, this book will guide you in using the best data structures and algorithms for problem solving.The book begins with an introduction to Go data structures and algorithms. You'll learn how to store data using linked lists, arrays, stacks, and queues. Moving ahead, you'll discover how to implement sorting and searching algorithms, followed by binary search trees. This book will also help you improve the performance of your applications by stringing data types and implementing hash structures in algorithm design. Finally, you'll be able to apply traditional data structures to solve real-world problems.By the end of the book, you'll have become adept at implementing classic data structures and algorithms in Go, propelling you to become a confident Go programmer.What you will learnImprove application performance using the most suitable data structure and algorithmExplore the wide range of classic algorithms such as recursion and hashing algorithmsWork with algorithms such as garbage collection for efficient memory management Analyze the cost and benefit trade-off to identify algorithms and data structures for problem solvingExplore techniques for writing pseudocode algorithm and ace whiteboard coding in interviewsDiscover the pitfalls in selecting data structures and algorithms by predicting their speed and efficiencyWho this book is forThis book is for developers who want to understand how to select the best data structures and algorithms that will help solve coding problems. Basic Go programming experience will be an added advantage.
R 1,498.00


Essential Data Structures and Algorithms in Java
Master essential data structures and algorithms in Java with clear examples, visual walkthroughs, and real-world coding exercises designed to build your problem-solving skills fastKey FeaturesBuild solid foundations with a complete overview of core DSA conceptsImplement advanced data structures for AI agents and complex systemsMaster Java Collections and complexity analysis for scalable applicationsVisualize and debug algorithms with detailed annotated walkthroughsBook DescriptionDeveloping efficient, reliable software starts with mastering data structures and algorithms. This practical guide helps you bridge theory and practice using Java, focusing on real-world challenges and pragmatic solutions. You will explore foundational data structures such as arrays, lists, stacks, queues, trees, and graphs, and learn how to implement them natively and leverage the Java Collections Framework to build scalable applications. With each concept, you will work through step-by-step exercises that illustrate how algorithms are applied to tasks such as searching, sorting, and traversing data.Rather than being theory-heavy or overly abstract, this book takes a problem-first approach, balancing conceptual explanations with immediate hands-on application. Visual walkthroughs, annotated code, and progressive exercises guide you through each concept, helping you internalize how different structures and algorithms impact performance. Each chapter ends with review problems and thought exercises designed to reinforce key ideas and build your confidence through practice.Guided by a veteran software engineer with over 20 years of industry experience, you will gain the skills to implement advanced data structures for modern software systems and write faster, cleaner, and more effective Java code in real development environments.What you will learnUnderstand and implement core data structures in JavaAnalyze time and space complexity with Big O notationSolve coding problems with arrays, linked lists, and hash mapsUse stacks and queues to manage linear data workflowsApply tree and graph algorithms to hierarchical and networked dataMaster dynamic programming approachesDesign concurrent applications using Java's built-in toolsEvaluate algorithmic trade-offs for real-world applications including AIWho this book is forPerfect for aspiring Java developers, CS students, and software engineers with a foundation in JDK 11+ and OOP looking for a practical DSA refresher. This book skips basic syntax tutorials to front-load core principles, allowing you to turn theory into high-performance logic. Master complex algorithms and apply proven problem-solving patterns to write faster, cleaner, and AI-native Java code.
R 1,628.00

Guide to Data Structures
This accessible and engaging textbook/guide provides a concise introduction to data structures and associated algorithms. Emphasis is placed on the fundamentals of data structures, enabling the reader to quickly learn the key concepts, and providing a strong foundation for later studies of more complex topics. The coverage includes discussions on stacks, queues, lists, (using both arrays and links), sorting, and elementary binary trees, heaps, and hashing. This content is also a natural continuation from the material provided in the separate Springer title Guide to Java by the same authors.Topics and features: reviews the preliminary concepts, and introduces stacks and queues using arrays, along with a discussion of array-based lists; examines linked lists, the implementation of stacks and queues using references, binary trees, a range of varied sorting techniques, heaps, and hashing; presents both primitive and generic data types in each chapter, and makes use of contour diagrams to illustrate object-oriented concepts; includes chapter summaries, and asks the reader questions to help them interact with the material; contains numerous examples and illustrations, and one or more complete program in every chapter; provides exercises at the end of each chapter, as well as solutions to selected exercises, and a glossary of important terms.This clearly-written work is an ideal classroom text for a second semester course in programming using the Java programming language, in preparation for a subsequent advanced course in data structures and algorithms. The book is also eminently suitable as a self-study guide in either academe or industry.
R 2,381.00

Algorithms and Data Structures
The refereed proceedings of the 8th International Workshop on Algorithms and Data Structures, WADS 2003, held in Ottawa, Ontario, Canada, in July/August 2003.The 40 revised full papers presented together with 4 invited papers were carefully reviewed and selected from 126 submissions. A broad variety of current aspects in algorithmics and data structures is addressed.
R 2,015.00
















































