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

Advanced Data Structures
Advanced data structures is a core course in Computer Science which most graduate program in Computer Science, Computer Science and Engineering, and other allied engineering disciplines, offer during the first year or first semester of the curriculum. The objective of this course is to enable students to have the much-needed foundation for advanced technical skill, leading to better problem-solving in their respective disciplines. Although the course is running in almost all the technical universities for decades, major changes in the syllabus have been observed due to the recent paradigm shift of computation which is more focused on huge data and internet-based technologies. Majority of the institute has been redefined their course content of advanced data structure to fit the current need and course material heavily relies on research papers because of nonavailability of the redefined text book advanced data structure. To the best of our knowledge well-known textbook on advanced data structure provides only partial coverage of the syllabus. The book offers comprehensive coverage of the most essential topics, including: Part I details advancements on basic data structures, viz., cuckoo hashing, skip list, tango tree and Fibonacci heaps and index files. Part II details data structures of different evolving data domains like special data structures, temporal data structures, external memory data structures, distributed and streaming data structures. Part III elucidates the applications of these data structures on different areas of computer science viz, network, www, DBMS, cryptography, graphics to name a few. The concepts and techniques behind each data structure and their applications have been explained. Every chapter includes a variety of Illustrative Problems pertaining to the data structure(s) detailed, a summary of the technical content of the chapter and a list of Review Questions, to reinforce the comprehension of the concepts. The book could be used both as an introductory or an advanced-level textbook for the advanced undergraduate, graduate and research programmes which offer advanced data structures as a core or an elective course. While the book is primarily meant to serve as a course material for use in the classroom, it could be used as a starting point for the beginner researcher of a specific domain.
R 9,313.06

R 611.00

Algorithms in Action
Algorithms in Action effectively introduces students to a variety of techniques for designing algorithms with a focus on developing intuitive understanding. Readers learn how to successfully construct foundational algorithms, preparing them for more advanced courses in the discipline, as well as professional application.Over the course of nine chapters, students learn fundamental concepts critical to the development of algorithms, paired with detailed visual representations that walk readers step-by-step through algorithm execution. The text begins with a review of runtime complexity, lower bound for sorting, and trees and graphs, then moves into more complex topical areas, including amortized analysis, heaps, dynamic programming, network flow, linear programming, and NP-completeness. The book includes over 160 figures, as well as review questions and exercises at the end of each chapter, to encourage learning, retention, practice, and application.The revised first edition features corrections throughout the text, as well as an updated preface that underscores the book's value and outlines the ways in which it fits within a graduate student's course progression. Developed to provide students with an approachable and effective introduction to algorithm design,Algorithms in Action is an ideal resource for advanced undergraduate or master-level courses in computer science or related technical disciplines. Foundational knowledge of discrete mathematics, data structures, and calculus is recommended as a prerequisite.
R 3,428.81

Mastering Algorithms with C
There are many books on data structures and algorithms, including some with useful libraries of C functions. Mastering Algorithms with C offers you a unique combination of theoretical background and working code. With robust solutions for everyday programming tasks, this book avoids the abstract style of most classic data structures and algorithms texts, but still provides all of the information you need to understand the purpose and use of common programming techniques. Implementations, as well as interesting, real-world examples of each data structure and algorithm, are included. Using both a programming style and a writing style that are exceptionally clean, Kyle Loudon shows you how to use such essential data structures as lists, stacks, queues, sets, trees, heaps, priority queues, and graphs. He explains how to use algorithms for sorting, searching, numerical analysis, data compression, data encryption, common graph problems, and computational geometry. And he describes the relative efficiency of all implementations.The compression and encryption chapters not only give you working code for reasonably efficient solutions, they offer explanations of concepts in an approachable manner for people who never have had the time or expertise to study them in depth. Anyone with a basic understanding of the C language can use this book. In order to provide maintainable and extendible code, an extra level of abstraction (such as pointers to functions) is used in examples where appropriate. Understanding that these techniques may be unfamiliar to some programmers, Loudon explains them clearly in the introductory chapters. Contents include: * Pointers * Recursion * Analysis of algorithms * Data structures (lists, stacks, queues, sets, hash tables, trees, heaps, priority queues, graphs) * Sorting and searching * Numerical methods * Data compression * Data encryption * Graph algorithms * Geometric algorithms
R 1,368.00

R 611.00


Algorithms
The leading introduction to computer algorithms in use today, including fifty algorithms every programmer should know Princeton Computer Science professors, Robert Sedgewick and Kevin Wayne, survey the most important computer algorithms in use and of interest to anyone working in science, mathematics, and engineering, and those who use computation in the liberal arts. They provide a full treatment of data structures and algorithms for key areas that enable you to confidently implement, debug, and put them to work in any computational environment. Fundamentals: Basic programming modelsData abstractionBags, queues, and stacksAnalysis of algorithms Sorting Elementary sortsMergesortQuicksortPriority queuesApplications Graphs Undirected graphsDirected graphsMinimum spanning treesShortest paths Strings String sortsTriesSubstring searchRegular expressionsData compression These algorithms are generally ingenious creations that, remarkably, can each be expressed in just a dozen or two lines of code. As a group, they represent problem-solving power of amazing scope. They have enabled the construction of computational artifacts, the solution of scientific problems, and the development of commercial applications that would not have been feasible without them.
R 1,785.00



Techniques for Designing and Analyzing Algorithms
Techniques for Designing and Analyzing Algorithms Design and analysis of algorithms can be a difficult subject for students due to its sometimes-abstract nature and its use of a wide variety of mathematical tools. Here the author, an experienced and successful textbook writer, makes the subject as straightforward as possible in an up-to-date textbook incorporating various new developments appropriate for an introductory course.This text presents the main techniques of algorithm design, namely, divide-and-conquer algorithms, greedy algorithms, dynamic programming algorithms, and backtracking. Graph algorithms are studied in detail, and a careful treatment of the theory of NP-completeness is presented. In addition, the text includes useful introductory material on mathematical background including order notation, algorithm analysis and reductions, and basic data structures. This will serve as a useful review and reference for students who have covered this material in a previous course.Features The first three chapters provide a mathematical review, basic algorithm analysis, and data structures Detailed pseudocode descriptions of the algorithms along with illustrative algorithms are included Proofs of correctness of algorithms are included when appropriate The book presents a suitable amount of mathematical rigorAfter reading and understanding the material in this book, students will be able to apply the basic design principles to various real-world problems that they may encounter in their future professional careers.
R 5,565.78

R 611.00

Basic Concepts In Algorithms
This book is the result of several decades of teaching experience in data structures and algorithms. It is self-contained but does assume some prior knowledge of data structures, and a grasp of basic programming and mathematics tools. Basic Concepts in Algorithms focuses on more advanced paradigms and methods combining basic programming constructs as building blocks and their usefulness in the derivation of algorithms. Its coverage includes the algorithms' design process and an analysis of their performance. It is primarily intended as a textbook for the teaching of Algorithms for second year undergraduate students in study fields related to computers and programming.Klein reproduces his oral teaching style in writing, with one topic leading to another, related one. Most of the classical and some more advanced subjects in the theory of algorithms are covered, though not in a comprehensive manner. The topics include Divide and Conquer, Dynamic Programming, Graph algorithms, probabilistic algorithms, data compression, numerical algorithms and intractability. Each chapter comes with its own set of exercises, and solutions to most of them are appended.Related Link(s)
R 5,053.96

R 699.09

Numeric Computation and Statistical Data Analysis on the Java Platform
Numericalcomputation, knowledge discovery and statistical data analysis integrated withpowerful 2D and 3D graphics for visualization are the key topics of this book. ThePython code examples powered by the Java platform can easily be transformed toother programming languages, such as Java, Groovy, Ruby and BeanShell. Thisbook equips the reader with acomputational platform which, unlike other statistical programs, is not limitedby a single programming language.The authorfocuses on practical programming aspects and covers a broad range of topics,from basic introduction to the Python language on the Java platform (Jython),to descriptive statistics, symbolic calculations, neural networks, non-linearregression analysis and many other data-mining topics. He discusses how to findregularities in real-world data, how to classify data, and how to process datafor knowledge discoveries. The code snippets are so short that they easily fit intosingle pages.Numeric Computation and Statistical DataAnalysis on the Java Platform is a great choice for those who want to learn how statisticaldata analysis can be done using popular programming languages, who want tointegrate data analysis algorithms in full-scale applications, and deploy suchcalculations on the web pages or computational servers regardlessof their operating system. It is an excellent reference for scientific computations to solvereal-world problems using a comprehensive stack of open-source Javalibraries included in the DataMelt (DMelt) project and will beappreciated by many data-analysis scientists, engineers and students.
R 4,396.00

R 611.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

Genetic Algorithms + Data Structures = Evolution Programs
Genetic algorithms are founded upon the principle of evolution, i.e., survival of the fittest. Hence evolution programming techniques, based on genetic algorithms, are applicable to many hard optimization problems, such as optimization of functions with linear and nonlinear constraints, the traveling salesman problem, and problems of scheduling, partitioning, and control. The importance of these techniques is still growing, since evolution programs are parallel in nature, and parallelism is one of the most promising directions in computer science.The book is self-contained and the only prerequisite is basic undergraduate mathematics. This third edition has been substantially revised and extended by three new chapters and by additional appendices containing working material to cover recent developments and a change in the perception of evolutionary computation.
R 4,671.32

Practical C++ Game Programming with Data Structures and Algorithms
Learn C++ game programming through real-world demos of AI systems, animation, and rendering to build scalable, high-performance games using patterns you can reuse across any game engineKey FeaturesBuild real-time 2D and 3D games using C++ with practical, executable examplesGain proficiency in game programming domains like AI pathfinding, camera systems, animation, and rendering effectsBoost runtime efficiency with practical techniques like object pooling, LOD patterns, and terrain partitioning to create smoother, more responsive gameplay systemsBook DescriptionCreating responsive, intelligent games takes more than just following engine tutorials. It requires solving real development challenges with practical, efficient code. This book bridges theory and practice with proven algorithms and techniques grounded in real-world production needs, emphasizing clean, portable C++ implementations.Starting with raylib and the custom Knight engine layer, you’ll be introduced to a simple object-oriented scene and game object system. From there, you'll build responsive gameplay systems using essential data structures and algorithms, progressing through 2D rendering, collision detection, effects, and camera control before advancing to 3D graphics environments built using shaders, lighting, quad-tree terrain, and dynamic camera setups.You’ll animate characters using skeletal rigs, interpolation, and inverse kinematics for fluid movement and then develop game AI using FSMs, behavior trees, A* pathfinding, and steering behaviors. The book also covers neural networks, exploring their underlying theories, training processes, and tools. Throughout, the code is written in legacy-compatible C++ to ensure broad support across platforms and compilers.By the end, you’ll have gained the skills to build game systems that not only work but also scale, perform, and adapt like professional-grade code.What you will learnUse C++ data structures and algorithms to build core gameplay featuresImplement 2D/3D rendering with shaders, particle effects, and terrain systemsDesign camera systems like third-person, top-down, and split-screen viewsOptimize performance using object pooling and LODAnimate characters using skeletal rigging, interpolation, and inverse kinematicsBuild game AI with FSMs, behavior trees, pathfinding, and steeringApply neural network concepts in a turret defense projectWho this book is forThis book is for junior game developers, hobbyists, and computer science students entering game development, as well as C++ programmers looking to strengthen their skills. While some familiarity with C++ is helpful, the examples are explained step by step to remain approachable. Whether you're starting out or reinforcing your skills before diving into game engines down the road, this book offers a clear and practical foundation to make you a more effective developer, regardless of which tools you choose later.
R 1,628.00

Beginning Algorithms
Beginning Algorithms A good understanding of algorithms, and the knowledge of when to apply them, is crucial to producing software that not only works correctly, but also performs efficiently. This is the only book to impart all this essential information-from the basics of algorithms, data structures, and performance characteristics to the specific algorithms used in development and programming tasks. Packed with detailed explanations and instructive examples, the book begins by offering you some fundamental data structures and then goes on to explain various sorting algorithms. You'll then learn efficient practices for storing and searching by way of hashing, trees, sets, and maps. The authors also share tips on optimization techniques and ways to avoid common performance pitfalls. In the end, you'll be prepared to build the algorithms and data structures most commonly encountered in day-to-day software development. What you will learn from this book The basics of algorithms, such as iteration and recursionElementary data structures such as lists, stacks, and queuesBasic and advanced sorting algorithms including insertion sort, quicksort, and shell sortAdvanced data structures such as binary trees, ternary trees, and heapsAlgorithms for string searching, string matching, hashing, and computational geometryHow to use test-driven development techniques to ensure your code works as intendedHow to dramatically improve the performance of your code with hands-on techniques for profiling and optimization Who this book is for This book is for anyone who develops applications, or is just beginning to do so, and is looking to understand algorithms and data structures. An understanding of computer programming is beneficial. Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.
R 1,303.00

R 1,220.00



Structures and Algorithms
This book explains exactly what human knowledge is. The key concepts in this book are structures and algorithms, i.e., what the readers “see” and how they make use of what they see. Thus in comparison with some other books on the philosophy (or methodology) of science, which employ a syntactic approach, the author’s approach is model theoretic or structural. Properly understood, it extends the current art and science of mathematical modeling to all fields of knowledge. The link between structure and algorithms is mathematics. But viewing “mathematics” as such a link is not exactly what readers most likely learned in school; thus, the task of this book is to explain what “mathematics” should actually mean. Chapter 1, an introductory essay, presents a general analysis of structures, algorithms and how they are to be linked. Several examples from the natural and social sciences, and from the history of knowledge, are provided in Chapters 2–6. In turn, Chapters 7 and 8 extend the analysis to include language and the mind. Structures are what the readers see. And, as abstract cultural objects, they can almost always be seen in many different ways. But certain structures, such as natural numbers and the basic theory of grammar, seem to have an absolute character. Any theory of knowledge grounded in human culture must explain how this is possible. The author’s analysis of this cultural invariance, combining insights from evolutionary theory and neuroscience, is presented in the book’s closing chapter. The book will be of interest to researchers, students and those outside academia who seek a deeper understanding of knowledge in our present-day society.
R 3,012.94

Randomized Algorithms
For many applications a randomized algorithm is either the simplest algorithm available, or the fastest, or both. This tutorial presents the basic concepts in the design and analysis of randomized algorithms. The first part of the book presents tools from probability theory and probabilistic analysis that are recurrent in algorithmic applications. Algorithmic examples are given to illustrate the use of each tool in a concrete setting. In the second part of the book, each of the seven chapters focuses on one important area of application of randomized algorithms: data structures; geometric algorithms; graph algorithms; number theory; enumeration; parallel algorithms; and on-line algorithms. A comprehensive and representative selection of the algorithms in these areas is also given. This book should prove invaluable as a reference for researchers and professional programmers, as well as for students.
R 3,895.73

Genetic Algorithms + Data Structures = Evolution Programs
Genetic algorithms are founded upon the principle of evolution, i.e., survival of the fittest. Hence evolution programming techniques, based on genetic algorithms, are applicable to many hard optimization problems, such as optimization of functions with linear and nonlinear constraints, the traveling salesman problem, and problems of scheduling, partitioning, and control. The importance of these techniques is still growing, since evolution programs are parallel in nature, and parallelism is one of the most promising directions in computer science.The book is self-contained and the only prerequisite is basic undergraduate mathematics. This third edition has been substantially revised and extended by three new chapters and by additional appendices containing working material to cover recent developments and a change in the perception of evolutionary computation.
R 3,055.55

R 580.00

Data Structures for Engineers and Scientists Using Python
The text covers the fundamentals of Python programming and the implementation of data structures using Python programming with the help of worked-out examples. It provides a learning tool for engineers as well as for researchers and scientists of advanced level. The text further discusses important concepts such as polynomial manipulation, sparse matrices, implementation of stack using the queue model and topological sorting.This book:Discusses the implementation of various data structures such as an array, stack, queue, tree and graph along with sorting and searching algorithms. Includes programming tips to highlight important concepts and help readers avoid common programming errors. Presents each concept of data structure with a different approach and implements the same using Python programming. Offers rich chapter-end pedagogy including objective-type questions (with answers), review questions and programming exercises to facilitate review. Covers fundamentals of Python up to object-oriented concepts including regular expression. It is primarily written for senior undergraduate, graduate students and academic researchers in the fields of electrical engineering, electronics and communication engineering, computer engineering and information technology.
R 3,297.00

Techniques for Designing and Analyzing Algorithms
Techniques for Designing and Analyzing Algorithms Design and analysis of algorithms can be a difficult subject for students due to its sometimes-abstract nature and its use of a wide variety of mathematical tools. Here the author, an experienced and successful textbook writer, makes the subject as straightforward as possible in an up-to-date textbook incorporating various new developments appropriate for an introductory course.This text presents the main techniques of algorithm design, namely, divide-and-conquer algorithms, greedy algorithms, dynamic programming algorithms, and backtracking. Graph algorithms are studied in detail, and a careful treatment of the theory of NP-completeness is presented. In addition, the text includes useful introductory material on mathematical background including order notation, algorithm analysis and reductions, and basic data structures. This will serve as a useful review and reference for students who have covered this material in a previous course.Features The first three chapters provide a mathematical review, basic algorithm analysis, and data structures Detailed pseudocode descriptions of the algorithms along with illustrative algorithms are included Proofs of correctness of algorithms are included when appropriate The book presents a suitable amount of mathematical rigorAfter reading and understanding the material in this book, students will be able to apply the basic design principles to various real-world problems that they may encounter in their future professional careers.
R 2,931.00

Experimental Algorithms
This book constitutes the refereed proceedings of the 14th International Symposium on Experimental Algorithms, SEA 2015, held in Paris, France, in June/July 2015.The 30 revised full papers presented were carefully reviewed and selected from 76 submissions. The main theme of the symposium is the role of experimentation and of algorithm engineering techniques in the design and evaluation of algorithms and data structures. The papers are grouped in topical sections on data structures, graph problems, combinatorial optimization, scheduling and allocation, and transportation networks.
R 1,575.46

R 393.25


Algorithms
This book confronts head-on the main challenges students face in algorithm design and analysis. While maintaining rigor, it breaks down some of the most difficult aspects of algorithm design into step-by-step procedures that all students can follow. In the discussion of basic algorithm design paradigms—graph search, reductions to solved problems, greedy algorithms, divide-and conquer, backtracking, dynamic programming, and gradient descent or hill-climbing—we emphasize not only the techniques themselves but also how to think when designing algorithms for new problems. The book also provides templates for correctness proofs that are tailored to each design paradigm. A wide range of examples are included for every paradigm, from canonical algorithms that clearly illustrate the core ideas to examples that stretch the paradigm in different ways. Within the existing toolbox developed by algorithms researchers, there are both standard tools that students should master and more surprising results that even their discoverers found remarkable. We present both, taking care to distinguish between them and to convey their different roles in algorithmic problem solving. The book includes many types of assignments designed to keep students engaged with the subject. Comprehension quizzes allow students to self-test their understanding of basic vocabulary and concepts. Algorithm design problems range from guided exercises, which walk students through the procedure for designing an algorithm, to open-ended problems that admit multiple correct approaches. Empirical experimental problems give students hands-on experience implementing algorithms (in a language of their choice), testing them experimentally, and summarizing collected data. These assignments also help students better understand both the significance and the limitations of asymptotic analysis, including the differences between worst-case, average-case, and typical algorithm performance. The book was developed for an upper-division undergraduate algorithms course, but it can also be used for a lower-division class (starting with the appendices) or an introductory graduate course (including the optional advanced sections).
R 2,604.00

New Data Structures and Algorithms for Logic Synthesis and Verification
This book introduces new logic primitives for electronic design automation tools. The author approaches fundamental EDA problems from a different, unconventional perspective, in order to demonstrate the key role of rethinking EDA solutions in overcoming technological limitations of present and future technologies. The author discusses techniques that improve the efficiency of logic representation, manipulation and optimization tasks by taking advantage of majority and biconditional logic primitives. Readers will be enabled to accelerate formal methods by studying core properties of logic circuits and developing new frameworks for logic reasoning engines.
R 2,102.27

Algorithms and Data Structures - Applications to Graphics and Geometry
This is a college-level introductory textbook of algorithms and data structures with application to graphics and geometry. This textbook, released under a Creative Commons Share Alike (CC BY SA) license, is presented in its original format with the academic content unchanged. It was authored by Jurg Nievergelt (ETH Zurich) and Klaus Hinrichs (Institut fur Informatik) and provided by the University of Georgia's Global Textbook Project. Textbookequity.org/algorithms-and-data-structures/ Photo Credit: Renato Keshet (GFDL) commons.wikimedia.org Contents Part I: Programming environments for motion, graphics, and geometry Part II: Programming concepts: beyond notation Part IV: Complexity of problems and algorithms Part V: Data structures Textbook Equity Edition http://textbookequity.org/algorithms-and-data-structures
R 1,617.51


R 1,254.00

Advanced Data Structures
This text closely examines ideas, analysis, and implementation details of data structures as a specialised topic in applied algorithms. It looks at efficient ways to realise query and update operations on sets of numbers, intervals, or strings by various data structures, including: search trees; structures for sets of intervals or piece-wise constant functions; orthogonal range search structures; heaps; union-find structures; dynamization and persistence of structures; structures for strings; and hash tables. Instead of relegating data structures to trivial material used to illustrate object-oriented programming methodology, this is the first volume to show data structures as a crucial algorithmic topic. Numerous code examples in C and more than 500 references make Advanced Data Structures an indispensable text.
R 4,161.24

R 2,870.00

Advanced Data Structures
This text closely examines ideas, analysis, and implementation details of data structures as a specialised topic in applied algorithms. It looks at efficient ways to realise query and update operations on sets of numbers, intervals, or strings by various data structures, including: search trees; structures for sets of intervals or piece-wise constant functions; orthogonal range search structures; heaps; union-find structures; dynamization and persistence of structures; structures for strings; and hash tables. Instead of relegating data structures to trivial material used to illustrate object-oriented programming methodology, this is the first volume to show data structures as a crucial algorithmic topic. Numerous code examples in C and more than 500 references make Advanced Data Structures an indispensable text.
R 2,761.27


R 580.00


Advanced Applications of Python Data Structures and Algorithms
Data structures are essential principles applicable to any programming language in computer science. Data structures may be studied more easily with Python than with any other programming language because of their interpretability, interactivity, and object-oriented nature. Computers may store and process data at an extraordinary rate and with outstanding accuracy. Therefore, it is of the utmost importance that the data is efficiently stored and is able to be accessed promptly. In addition, data processing should take as little time as feasible while maintaining the highest possible level of precision.Advanced Applications of Python Data Structures and Algorithms assists in understanding and applying the fundamentals of data structures and their many implementations and discusses the advantages and disadvantages of various data structures. Covering key topics such as Python, linked lists, datatypes, and operators, this reference work is ideal for industry professionals, computer scientists, researchers, academicians, scholars, practitioners, instructors, and students.
R 10,420.70















































