Search results for "data structures using c"
Items we need to order for you


R 592.46

R 580.00


R 1,621.75

R 2,507.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 2,441.00



Common-Sense Guide to Data Structures and Algorithms in Javascript, Volume 1
If you thought data structures and algorithms were all just theory, you're missing out on what they can do for your JavaScript code. Learn to use Big O notation to make your code run faster by orders of magnitude. Choose from data structures such as hash tables, trees, and graphs to increase your code's efficiency exponentially. With simple language and clear diagrams, this book makes this complex topic accessible, no matter your background. Every chapter features practice exercises to give you the hands-on information you need to master data structures and algorithms for your day-to-day work. Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for today's web and mobile apps. Take a practical approach to data structures and algorithms, with techniques and real-world scenarios that you can use in your daily production code. The JavaScript edition uses JavaScript exclusively for all code examples, exercises, and solutions. Use Big O notation to measure and articulate the efficiency of your code, and modify your algorithm to make it faster. Find out how your choice of arrays, linked lists, and hash tables can dramatically affect the code you write. Use recursion to solve tricky problems and create algorithms that run exponentially faster than the alternatives. Dig into advanced data structures such as binary trees and graphs to help scale specialized applications such as social networks and mapping software. You'll even encounter a single keyword that can give your code a turbo boost. Practice your new skills with exercises in every chapter, along with detailed solutions. Use these techniques today to make your JavaScript code faster and more scalable. What You Need: Certain code examples take advantage of recently introduced JavaScript features. Therefore, it's important to use a JavaScript environment that supports ECMAScript 6+ or a newer version.
R 2,421.00

Genetic Programming and Data Structures
Computers that `program themselves' has long been an aim of computer scientists. Recently genetic programming (GP) has started to show its promise by automatically evolving programs. Indeed in a small number of problems GP has evolved programs whose performance is similar to or even slightly better than that of programs written by people. The main thrust of GP has been to automatically create functions. While these can be of great use they contain no memory and relatively little work has addressed automatic creation of program code including stored data. This issue is the main focus of Genetic Programming, and Data Structures: Genetic Programming + Data Structures = Automatic Programming!. This book is motivated by the observation from software engineering that data abstraction (e.g., via abstract data types) is essential in programs created by human programmers. This book shows that abstract data types can be similarly beneficial to the automatic production of programs using GP. Genetic Programming and Data Structures: Genetic Programming + Data Structures = Automatic Programming! shows how abstract data types (stacks, queues and lists) can be evolved using genetic programming, demonstrates how GP can evolve general programs which solve the nested brackets problem, recognises a Dyck context free language, and implements a simple four function calculator. In these cases, an appropriate data structure is beneficial compared to simple indexed memory. This book also includes a survey of GP, with a critical review of experiments with evolving memory, and reports investigations of real world electrical network maintenance scheduling problems that demonstrate that Genetic Algorithms can find low cost viable solutions to such problems. Genetic Programming and Data Structures: Genetic Programming + Data Structures = Automatic Programming! should be of direct interest to computer scientists doing research on genetic programming, genetic algorithms, data structures, and artificial intelligence. In addition, this book will be of interest to practitioners working in all of these areas and to those interested in automatic programming.
R 4,653.40

Common-Sense Guide to Data Structures and Algorithms in Python, Volume 1
If you thought data structures and algorithms were all just theory, you're missing out on what they can do for your Python code. Learn to use Big O notation to make your code run faster by orders of magnitude. Choose from data structures such as hash tables, trees, and graphs to increase your code's efficiency exponentially. With simple language and clear diagrams, this book makes this complex topic accessible, no matter your background. Every chapter features practice exercises to give you the hands-on information you need to master data structures and algorithms for your day-to-day work.Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for today's web and mobile apps. Take a practical approach to data structures and algorithms, with techniques and real-world scenarios that you can use in your daily production code. The Python edition uses Python exclusively for all code examples, exercise, and solutions.Use Big O notation to measure and articulate the efficiency of your code, and modify your algorithm to make it faster. Find out how your choice of arrays, linked lists, and hash tables can dramatically affect the code you write. Use recursion to solve tricky problems and create algorithms that run exponentially faster than the alternatives. Dig into advanced data structures such as binary trees and graphs to help scale specialized applications such as social networks and mapping software. You'll even encounter a single keyword that can give your code a turbo boost. Practice your new skills with exercises in every chapter, along with detailed solutions.Use these techniques today to make your Python code faster and more scalable.
R 2,005.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

R 4,518.98

Head First Algorithms and Data Structures
What will you learn from this book?Successful software engineers all have this in common: They're fluent in the language of algorithms and data structures. Head First Algorithms and Data Structures is your gateway to becoming a part of this dynamic world. Guided by the expert insights of Eric Freeman and Elisabeth Robson, you'll unravel the complexities of algorithms and data structures through games, puzzles, and other entertaining challenges that will have you coding efficiently, scaling effectively, and acing your technical interviews in no time.What's so special about this book?If you've read a Head First book, you know what to expect: a visually rich format designed for the way your brain works. If you haven't, you're in for a treat. Whether you're taking your first steps in programming or seeking to hone your skills, you'll solidify your algorithmic thinking through a multisensory experience that engages your mind—not a text-heavy approach that puts you to sleep.
R 1,978.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

R 1,791.00

R 519.00

R 554.00


R 1,140.00

R 1,954.00

R 608.00

R 916.00


R 1,402.26

R 1,652.93

R 356.01

R 580.00


Algorithms and Data Structures
The papers in this volume were presented at the 9th Workshop on Algorithms and Data Structures (WADS 2005). The workshop took place during August 15 - 17, 2005, at the University of Waterloo, Waterloo, Canada. The workshop alternateswith the ScandinavianWorkshopon Algorithm Theory(SWAT), c- tinuing the traditionof SWAT and WADS startingwith SWAT 1988and WADS 1989. From 90 submissions, the Program Committee selected 37 papers for p- sentation at the workshop. In addition, invited lectures were given by the f- lowing distinguished researchers: Allan Borodin and Max J. Egenhofer. OnbehalfoftheProgramCommittee,wewouldliketoexpressoursincere- preciation to the many persons whose e?ort contributed to making WADS 2005 a success. These include the invited speakers,members of the ste- ing and ProgramCommittees, the authors who submitted papers, and the many referees who assisted the ProgramCommittee. We are indebted to Robert Kane forinstallingandmodifyingthesubmissionsoftware,maintainingthesubmission server and interacting with authors as well as for helping with the preparation of the program. August 2005 Frank Dehne, Alejandro Lop ' ez-Ortiz, and Jorg-R .. u ..diger Sack WADS Organization Organizing Institutions Steering Committee Frank Dehne Carleton University, Canada Ian Munro University of Waterloo, Canada J.. org-Rudig .. er Sack Carleton University, Canada Roberto Tamassia Brown University, Canada Program Co-chairs Frank Dehne Carleton University, Canada Alejandro Lop ' ez-Ortiz University of Waterloo, Canada J.. org-Rudig .. er Sack Carleton University, Canada Conference Chair Alejandro Lop ' ez-Ortiz University of Waterloo, Canada Program Committee Pankaj Agarwal Duke University, USA Michael Atkinson University of Otago, New Zealand Gill Barequet Technion, Israel Mark de Berg Tech.
R 1,583.55

VLSI Architecture for Concurrent Data Structures
Concurrent data structures simplify the development of concurrent programs by encapsulating commonly used mechanisms for synchronization and commu nication into data structures. This thesis develops a notation for describing concurrent data structures, presents examples of concurrent data structures, and describes an architecture to support concurrent data structures. Concurrent Smalltalk (CST), a derivative of Smalltalk-80 with extensions for concurrency, is developed to describe concurrent data structures. CST allows the programmer to specify objects that are distributed over the nodes of a concurrent computer. These distributed objects have many constituent objects and thus can process many messages simultaneously. They are the foundation upon which concurrent data structures are built. The balanced cube is a concurrent data structure for ordered sets. The set is distributed by a balanced recursive partition that maps to the subcubes of a binary 7lrcube using a Gray code. A search algorithm, VW search, based on the distance properties of the Gray code, searches a balanced cube in O(log N) time. Because it does not have the root bottleneck that limits all tree-based data structures to 0(1) concurrency, the balanced cube achieves 0C.:N) con currency. Considering graphs as concurrent data structures, graph algorithms are pre sented for the shortest path problem, the max-flow problem, and graph parti tioning. These algorithms introduce new synchronization techniques to achieve better performance than existing algorithms.
R 4,649.45

R 2,985.33

Construction of Fundamental Data Structures for Strings
This books reviews recent theoretical and practical advances on suffix sorting and introduces algorithmic solutions to problems of wide interest for the construction of fundamental data structures that operate efficiently on strings namely, constructing the suffix array, the longest common prefix (LCP) array, the document array and the Lyndon array. These data structures are the cornerstone of many algorithmic solutions in Bioiformatics, Information Retrieval and Data Compression. This book introduces the relevant problem areas, their importance, the notation and related algorithms and then presents the algorithmic solutions for indexing data structure constructions.This book is intended for graduate students, researchers and practitioners from Computer Science and Bioinformatics with a strong interest in algorithmic aspects.
R 2,198.00

Data Parallel C++
"This book, now in is second edition, is the premier resource to learn SYCL 2020 and is the ONLY book you need to become part of this community." Erik Lindahl, GROMACS and Stockholm UniversityLearn how to accelerate C++ programs using data parallelism and SYCL.This open access book enables C++ programmers to be at the forefront of this exciting and important development that is helping to push computing to new levels. This updated second edition is full of practical advice, detailed explanations, and code examples to illustrate key topics. SYCL enables access to parallel resources in modern accelerated heterogeneous systems. Now, a single C++ application can use any combination of devices–including GPUs, CPUs, FPGAs, and ASICs–that are suitable to the problems at hand.This book teaches data-parallel programming using C++ with SYCL and walks through everything needed to program accelerated systems. The book begins by introducing data parallelism and foundational topics for effective use of SYCL. Later chapters cover advanced topics, including error handling, hardware-specific programming, communication and synchronization, and memory model considerations.All source code for the examples used in this book is freely available on GitHub. The examples are written in modern SYCL and are regularly updated to ensure compatibility with multiple compilers. What You Will Learn Accelerate C++ programs using data-parallel programmingUse SYCL and C++ compilers that support SYCLWrite portable code for accelerators that is vendor and device agnosticOptimize code to improve performance for specific acceleratorsBe poised to benefit as new accelerators appear from many vendorsWho This Book Is For New data-parallel programming and computer programmers interested in data-parallel programming using C++This is an open access book.
R 1,140.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


Generic Data Structures and Algorithms in Go
Advance your understanding of generic data structures and algorithms and their applications using Go and the effective use of concurrency. You are invited on a journey that aims to improve your programming and problem-solving skills. This book takes you to the next step by showing how to get your programs to work efficiently as well as correctly. As you explore many data structures and the algorithms and applications associated with them, you'll focus on the trade-offs between speed and storage and the benefits of deploying concurrency when appropriate. This book will demonstrate the huge increases in application performance that are possible. The presentation of classic data structures and techniques of algorithm design (greedy, divide and conquer, branch-and-bound to name a few) provides an essential foundation and toolkit for problem solving. But this book goes further by presenting heuristic algorithms and their implementations for solving computationally intractable combinatoric optimization problems such as the travelling salesperson problem. Simulated annealing and genetic algorithms are among the techniques used.The consistent style of coding used throughout this book exploits Go’s ability to implement abstract, generic and constrained generic data types without the use of classes. Although some familiarity with Go is assumed, this book should advance your ability to use Go to tackle server-side applications, games, machine learning, information retrieval and other application domains where speed and storage efficiency is essential.What You'll LearnExplore classical data structures and algorithms aimed at making your applications run faster or require less storageUse the new generic features of Go to build reusable data structuresUtilize concurrency for maximizing application performanceSee the power of heuristic algorithms for computationally intractable problemsEnhance and improve your Go programming skillsWho This Book Is ForPracticing Go software developers and students who wish to advance their programming and problem-solving skills and experience the excitement and see the benefits of using generic data structures and algorithms that utilize concurrency whenever possible.
R 1,596.00


R 1,831.00


R 458.00


Computing in Cause-Effect Structures
This book focuses on numerous examples of tasks represented by c-e structure. Cause–effect (c-e) structures are dynamic objects devised for algebraic and graphic description of realistic tasks. They constitute a formal system providing means to specify or implement (depending on degree of description generality) the tasks. They can be transformed, thus come under simplification, in accordance with rules-axioms of their algebra. Also, their properties can be inferred from the axioms. One objective of this book is presentation, by many realistic examples, of computing capability of c-e structures, without entering into mathematical details of their algebra. In particular, how computing with natural numbers and in propositional calculus can be performed by c-e structures and how to specify behavior of data structures. But also demonstration of many other tasks taken from the area of parallel processing, specified as c-e structures. Another objective is modelling or simulation by means of c-e structures, of other descriptive systems, devised for tasks from various fields. Also without formalizing by usage of functions between the systems. This concerns formalisms such as reaction systems, rough sets, Petri nets and CSP-like languages. Also on such, where temporal interdependence between actions matters. The presentation of examples is prevalently graphic, in the form of peculiar nets, but accompanied by their algebraic and set-theoretic expressions. A fairly complete exposition of concepts and properties of the algebra of cause-effect structures is in the previous book appeared in the Lecture Notes in Networks and Systems series. But basic notions of c-e structures are here provided for understanding the examples.
R 4,230.08














































