Search results for "data structures and algorithms in java"
Items we need to order for you


Data Structures and Algorithms in Java
Learn with confidence with this hands-on undergraduate textbook for CS2 courses. Active-learning and real-world projects underpin each chapter, briefly reviewing programming fundamentals then progressing to core data structures and algorithms topics including recursion, lists, stacks, trees, graphs, sorting, and complexity analysis. Creative projects and applications put theoretical concepts into practice, helping students master the fundamentals. Dedicated project chapters supply further programming practice using real-world, interdisciplinary problems which students can showcase in their own online portfolios. Example Interview Questions sections prepare students for job applications. The pedagogy supports self-directed and skills-based learning with over 250 'Try It Yourself' boxes, many with solutions provided, and over 500 progressively challenging end-of-chapter questions. Written in a clear and engaging style, this textbook is a complete resource for teaching the fundamental skills that today's students need. Instructor resources are available online, including a test bank, solutions manual, and sample code.
R 2,707.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


Data Structures and Algorithm Analysis in Java
Data Structures and Algorithm Analysis in Java is an advanced algorithms book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. It is also suitable for a first-year graduate course in algorithm analysis As the speed and power of computers increases, so does the need for effective programming and algorithm analysis. By approaching these skills in tandem, Mark Allen Weiss teaches readers to develop well-constructed, maximally efficient programs in Java. Weiss clearly explains topics from binary heaps to sorting to NP-completeness, and dedicates a full chapter to amortized analysis and advanced data structures and their implementation. Figures and examples illustrating successive stages of algorithms contribute to Weiss' careful, rigorous and in-depth analysis of each type of algorithm. A logical organization of topics and full access to source code complement the text's coverage.
R 2,188.00


Data Structures & Algorithms in Java 6e International Student Version
The design and analysis of efficient data structures has long been recognized as a key component of the Computer Science curriculum. Goodrich and Tomassia's approach to this classic topic is based on the object-oriented paradigm as the framework of choice for the design of data structures. For each ADT presented in the text, the authors provide an associated Java interface. Concrete data structures realizing the ADTs are provided as Java classes implementing the interfaces. The Java code implementing fundamental data structures in this book is organized in a single Java package, net.datastructures. This package forms a coherent library of data structures and algorithms in Java specifically designed for educational purposes in a way that is complimentary with the Java Collections Framework.
R 2,462.00


Data Structures And Algorithms Using Java
With an accessible writing style and manageable amount of content, Data Structures and Algorithms Using Java is the ideal text for your course. This outstanding text correlates to the recommended syllabus put forth by the Association of Computing Machinery standard curriculum guidelines. The author has produced a resource that is more readable and instructional than any other, without compromising the scope of the ACM CS103, Data Structures and Algorithms, course material. The text’s unique, student-friendly pedagogical approach and organizational structure will keep students engaged in the process of self-directed investigative discovery both inside and outside the classroom.The pedagogical features of the text, based on the author’s 30 years of teaching experience, include succinct code examples, a unique common template used as the organizational basis of each chapter, the use of pseudocode to present the major algorithms developed in the text, nearly 300 carefully designed figures, and a concise review of Java.
R 6,148.00


Practical Data Structures and Algorithms for Java Developers
Master data structures and algorithms in Java through a practical, engineering-focused approach that goes beyond theory. With modern examples and a structured approach, this book emphasizes not only how algorithms work, but how to choose, adapt, and apply them in real-world systems.To start, you will conquer fundamental concepts such as arrays and linked lists. From there, the book progresses through essential sorting and searching techniques such as QuickSort and Binary Search. Then, you will explore the implementation and use cases of stacks and queues, followed by tree and graph structures with traversal algorithms. The book ends with you tackling advanced topics, such as dynamic programming, tries, and advanced graph algorithms.Finally, you will be ready to put your skills to the test and apply your knowledge in real-world situations for performance optimization.What You Will Learn: Implement and optimize essential data structures in JavaSolve complex algorithmic problems with confidenceMaster best practices for writing efficient, scalable Java code for enterprise applicationsWho This Book Is For: Java developers with a basic understanding of programming concepts who want to deepen their knowledge of data structures and algorithms. Secondary audiences include students, competitive programmers, and software engineers preparing for technical interviews.
R 1,368.00

Beginning Java Data Structures and Algorithms
Though your application serves its purpose, it might not be a high performer. Learn techniques to accurately predict code efficiency, easily dismiss inefficient solutions, and improve the performance of your application.Key FeaturesExplains in detail different algorithms and data structures with sample problems and Java implementations where appropriateIncludes interesting tips and tricks that enable you to efficiently use algorithms and data structuresCovers over 20 topics using 15 practical activities and exercises Book DescriptionLearning about data structures and algorithms gives you a better insight on how to solve common programming problems. Most of the problems faced everyday by programmers have been solved, tried, and tested. By knowing how these solutions work, you can ensure that you choose the right tool when you face these problems.This book teaches you tools that you can use to build efficient applications. It starts with an introduction to algorithms and big O notation, later explains bubble, merge, quicksort, and other popular programming patterns. You’ll also learn about data structures such as binary trees, hash tables, and graphs. The book progresses to advanced concepts, such as algorithm design paradigms and graph theory. By the end of the book, you will know how to correctly implement common algorithms and data structures within your applications.What you will learnUnderstand some of the fundamental concepts behind key algorithmsExpress space and time complexities using Big O notation.Correctly implement classic sorting algorithms such as merge and quicksortCorrectly implement basic and complex data structuresLearn about different algorithm design paradigms, such as greedy, divide and conquer, and dynamic programmingApply powerful string matching techniques and optimize your application logicMaster graph representations and learn about different graph algorithmsWho this book is forIf you want to better understand common data structures and algorithms by following code examples in Java and improve your application efficiency, then this is the book for you. It helps to have basic knowledge of Java, mathematics and object-oriented programming techniques.
R 912.00


Data Structures in Java
This book is a fast-paced introduction to using data structures with Java. Numerous code samples and listings are included to support myriad topics. The first chapter contains a quick introduction to Java, along with Java code samples to check for leap years, find divisors of a number, and work with arrays of strings. The second chapter introduces recursion and usescode samples to check if a positive number is prime, to find the prime divisors of a positive integer, to calculate the GCD (greatest common divisor) and LCM (lowest common multiple) of a pair of positive integers. The third chapter contains Java code samples involving strings and arrays, such as finding binary substrings of a number, checking if strings contain unique characters, counting bits in a range of numbers, and how to compute XOR without using the XOR function. Chapters 4 through 6 include Java code samples involving search algorithms, concepts in linked lists, and tasks involving linked lists. Finally, Chapter 7 discusses data structures called queues and stacks, along with additional Java code samples.FEATURES:Extensive topics, code samples, and scripts related to data structuresCovers strings, arrays, queues, and stacks, linked lists, computing the XOR function, checking for unique characters, and moreIncludes companion files with code samples from the book (available for downloading from the publisher)
R 1,254.00

Grundkurs Algorithmen und Datenstrukturen in JAVA
Dieses Lehrbuch für Ausbildung und Studium stellt die klassischen Informatik-Inhalte wie Sortieralgorithmen, Baumstrukturen, Komplexität, Rekursion und Algorithmenklassen bereit und wurde angepasst für die aktuelle Java-Version, wobei die verwendeten Neuerungen (Lambda-Ausdrücke, Ströme usw.) kurz erklärt werden. Vorteil des Buches sind die klare Ausrichtung an der Praxis und die Implementierung der Algorithmen in Java. Das Buch wurde für Studierende der Informatik im Haupt- oder Nebenfach entwickelt, ist aber auch für Schüler in Leistungskursen oder IT-Ausbildungsklassen geeignet. Die Themen werden verständlich behandelt und mit in Java formulierten, gut lesbaren Algorithmen dargestellt.
R 1,862.50

Java: Data Structures and Programming
This introduction to the Java language integrates a discussion of object-oriented programming with the design and implementation of data structures. It covers the most important topics, including algorithm analysis; time and space complexities; Java built-in data structure classes; input and output, data, and access streams; and the persistency of data.
R 1,589.28




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



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


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

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

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

Data Structures and Algorithms with JavaScript
As an experienced JavaScript developer moving to server-side programming, you need to implement classic data structures and algorithms associated with conventional object-oriented languages like C# and Java. This practical guide shows you how to work hands-on with a variety of storage mechanisms - including linked lists, stacks, queues, and graphs - within the constraints of the JavaScript environment. Determine which data structures and algorithms are most appropriate for the problems you're trying to solve, and understand the tradeoffs when using them in a JavaScript program. An overview of the JavaScript features used throughout the book is also included.This book covers: Arrays and lists: the most common data structures Stacks and queues: more complex list-like data structures Linked lists: how they overcome the shortcomings of arrays Dictionaries: storing data as key-value pairs Hashing: good for quick insertion and retrieval Sets: useful for storing unique elements that appear only once Binary Trees: storing data in a hierarchical manner Graphs and graph algorithms: ideal for modeling networks Algorithms: including those that help you sort or search data Advanced algorithms: dynamic programming and greedy algorithms
R 1,384.00

Data Structures And Algorithms In Javascript
For Javascript developers, this book is a one-stop-shop for learning the algorithms and data structures that solve and optimize complex problems. Covering everything from functional programming and abstract data types, to sorting and searching, lists, bags, binary trees, forests, heaps, and graphs - the author uses examples taken from coding challenges and interview questions, enabling readers to explore the real-world advantages of specific algorithms and data structures. Written and illustrated to be a developer's go-to reference manual as well as for immediate on-the-job applications, performance - both from a theoretical point of view and a practical standpoint - is considered alongside every algorithm or data structure introduced. In addition to demonstrating best practices throughout the text, each chapter ends with a series of questions that amplify the preceding concepts and provide further examples for the reader to apply. Also of note, the book utilizes the latest version of
R 1,368.00

Data Structures and Program Design Using Java
Data structures provide a means to managing large amounts of information such as large databases, using SEO effectively, and creating Internet/Web indexing services. This book is designed to present fundamentals of data structures for beginners using the Java programming language in a friendly, self-teaching format. Practical analogies using real world applications are integrated throughout the text to explain technical concepts. The book includes a variety of end-of-chapter practice exercises, e.g., programming, theoretical, and multiple-choice.
R 1,823.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

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,663.18

R 916.00


R 519.00

Data Structures and Algorithms Using C#
C# programmers: no more translating data structures from C++ or Java to use in your programs! Mike McMillan provides a tutorial on how to use data structures and algorithms plus the first comprehensive reference for C# implementation of data structures and algorithms found in the .NET Framework library, as well as those developed by the programmer. The approach is very practical, using timing tests rather than Big O notation to analyze the efficiency of an approach. Coverage includes arrays and array lists, linked lists, hash tables, dictionaries, trees, graphs, and sorting and searching algorithms, as well as more advanced algorithms such as probabilistic algorithms and dynamic programming. This is the perfect resource for C# professionals and students alike.
R 2,979.47

R 814.00

Data Structures and Algorithms Using C#
C# programmers: no more translating data structures from C++ or Java to use in your programs! Mike McMillan provides a tutorial on how to use data structures and algorithms plus the first comprehensive reference for C# implementation of data structures and algorithms found in the .NET Framework library, as well as those developed by the programmer. The approach is very practical, using timing tests rather than Big O notation to analyze the efficiency of an approach. Coverage includes arrays and array lists, linked lists, hash tables, dictionaries, trees, graphs, and sorting and searching algorithms, as well as more advanced algorithms such as probabilistic algorithms and dynamic programming. This is the perfect resource for C# professionals and students alike.
R 5,694.38

Data Structures and Algorithms Using Visual Basic.NET
This is the first Visual Basic.NET book to provide a comprehensive discussion of the major data structures and algorithms. Here, instead of having to translate material on C++ or Java, the professional or student VB.NET programmer will find a tutorial on how to use data structures and algorithms and a reference for implementation using VB.NET for data structures and algorithms from the .NET Framework Class Library as well as those which must be developed by the programmer. In an object-oriented fashion, the author presents arrays and arraylists, linked lists, hash tables, dictionaries, trees, graphs, sorting and searching as well as more advanced algorithms, such as probabilistic algorithms and dynamic programming. His approach is very practical, for example using timing tests rather than Big O analysis to compare the performance of data structures and algorithms. This book can be used in both beginning and advanced computer programming courses that use the VB.NET language and, most importantly, by the professional VB programmer.
R 3,038.25

R 608.00

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

R 877.00

Data Structures and Algorithms in C++: Pocket Primer
This book takes a minimalist approach to the traditional data structures course. It covers only those topics that are absolutely essential; the more esoteric structures and algorithms are left for later study. Suitable for an introductory data structures course or self-study, this book is written from the ground up in C++ (not translated from a Java-based text), and uses features of the C++ Standard Template Library to illustrate important concepts. A unique feature of the text is its use of literate programming techniques (originally developed by Donald Knuth) to present the sample code in a way that keeps the code from overwhelming the accompanying explanations. This book is suitable for an undergraduate data structures course using C++ or for developers needing review.Features:Takes a ""minimalist"" approach to the material that presents only essential concepts. This enables readers to focus on (and remember) just what they'll need.Uses select features of the C++11 standard to simplify the sample code and make it easier to understand.Connects the concepts directly to the classes provided the Standard Template Library (STL), and shows how these classes can be implemented in C++. Uses ""literate programming"" techniques that allow the presentation of the sample code to more clearly show the details of the code as well as how the pieces fit together.
R 1,025.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

Concurrent and Distributed Computing in Java
An in-depth introduction to concurrent and distributed computing with Java Combining the two key types of Java programming, Concurrent and Distributed Computing in Java offers both professionals and students a comprehensive guide to fundamental concepts necessary for mastering Java programming. The text is presented in two parts. The first deals with techniques for programming in shared-memory based systems and covers concepts in Java such as: Threads Synchronized methods Waits and notify Multi-threaded programming Algorithms for mutual exclusion, consensus, atomic objects, and wait-free data structures The second half of the text deals with programming in a message-passing system, and covers: Resource allocation problems Logical clocks Global property detection Leader election Message ordering Agreement algorithms Checkpointing Message logging Avoiding excessive mathematical notation while explaining important concepts with both rigor and clarity, this up-to-date text will prove a valuable resource for interested professionals and students alike.
R 5,762.00

R 4,518.98














































