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

Genetic Algorithms in Java Basics
Genetic Algorithms in Java Basics is a brief introduction to solving problems using genetic algorithms, with working projects and solutions written in the Java programming language. This brief book will guide you step-by-step through various implementations of genetic algorithms and some of their common applications, with the aim to give you a practical understanding allowing you to solve your own unique, individual problems. After reading this book you will be comfortable with the language specific issues and concepts involved with genetic algorithms and you'll have everything you need to start building your own. Genetic algorithms are frequently used to solve highly complex real world problems and with this book you too can harness their problem solving capabilities. Understanding how to utilize and implement genetic algorithms is an essential tool in any respected software developers toolkit. So step into this intriguing topic and learn how you too can improve your software with genetic algorithms, and see real Java code at work which you can develop further for your own projects and research.Guides you through the theory behind genetic algorithmsExplains how genetic algorithms can be used for software developers trying to solve a range of problemsProvides a step-by-step guide to implementing genetic algorithms in Java
R 1,400.65

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

R 1,627.00

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 1,953.00

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

Data Structures and Algorithms in Python
Based on the authors’ market leading data structures books in Java and C++, this textbook offers a comprehensive, definitive introduction to data structures in Python by respected authors. Data Structures and Algorithms in Python is the first mainstream object-oriented book available for the Python data structures course. Designed to provide a comprehensive introduction to data structures and algorithms, including their design, analysis, and implementation, the text will maintain the same general structure as Data Structures and Algorithms in Java and Data Structures and Algorithms in C++.
R 5,442.00

R 1,831.00

Data Structures and Program Design Using Python
Data structures provide a means to managing huge 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 Python 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.FEATURES:Covers data structure fundamentals using PythonNumerous tips, analogies, and practical applications enhance understanding of subjects under discussion"Frequently Asked Questions" integrated throughout the text clarify and explain conceptsIncludes a variety of end-of-chapter exercises, e.g., programming, theoretical, and multiple choice.
R 1,823.00

R 580.00

Data structures based on non-linear relations and data processing methods
The systematic description starts with basic theory and applications of different kinds of data structures, including storage structures and models. It also explores on data processing methods such as sorting, index and search technologies. Due to its numerous exercises the book is a helpful reference for graduate students, lecturers.
R 2,638.45

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

Data Structures and Algorithms 1
The design and analysis of data structures and efficient algorithms has gained considerable importance in recent years. The concept of "algorithm" is central in computer science, and "efficiency" is central in the world of money. I have organized the material in three volumes and nine chapters. Vol. 1: Sorting and Searching (chapters I to III) Vol. 2: Graph Algorithms and NP-completeness (chapters IV to VI) Vol. 3: Multi-dimensional Searching and Computational G- metry (chapters VII and VIII) Volumes 2 and 3 have volume 1 as a common basis but are indepen dent from each other. Most of volumes 2 and 3 can be understood without knowing volume 1 in detail. A general kowledge of algorith mic principles as laid out in chapter 1 or in many other books on algorithms and data structures suffices for most parts of volumes 2 and 3. The specific prerequisites for volumes 2 and 3 are listed in the prefaces to these volumes. In all three volumes we present and analyse many important efficient algorithms for the fundamental computa tional problems in the area. Efficiency is measured by the running time on a realistic model of a computing machine which we present in chapter I. Most of the algorithms presented are very recent inven tions; after all computer science is a very young field. There are hardly any theorems in this book which are older than 20 years and at least fifty percent of the material is younger than 10 years.
R 1,688.66



Data Structures and Program Design Using C
Data structures provide a means to manage large amounts of information such as large databases, using SEO, and creating Internet/Web indexing services. The book is designed to present fundamentals of data structures for beginners using the C programming language. Practical analogies using real world applications are integrated throughout the text to explain the technical concepts presented. Features:Covers data structure fundamentals using CNumerous tips and practical applications enhance understanding of concepts
R 1,367.00

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


R 762.00

Space-Efficient Data Structures, Streams, and Algorithms
This Festschrift volume, published in honour of J. Ian Munro, contains contributions written by some of his colleagues, former students, and friends. In celebration of his 66th birthday the colloquium "Conference on Space Efficient Data Structures, Streams and Algorithms" was held in Waterloo, ON, Canada, during August 15-16, 2013. The articles presented herein cover some of the main topics of Ian's research interests. Together they give a good overall perspective of the last 40 years of research in algorithms and data structures.
R 2,188.29

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

Data Structures of Pascal, Algol 68, PL/1 and Ada
This book is intended as a text for a course in programming languages. The pre requisites for such a course are insight in structured programming and knowledge as well as practical experience of at least one (e.g., Pascal) of the programming languages treated in the book. The emphasis is on language concepts rather than on syntactic details. The book covers a number of important language concepts that are related to data struc tures. The comparison of the programming languages Pascal, Algol 68, PL/1 and Ada consists in investigating how these concepts are supported by each of these languages. Interesting evaluation criteria are generality, simplicity, safety, readability and portability. The study of programming languages is based on a simple model called SMALL. This model serves as a didactic vehicle for describing, comparing and evaluating data structures in various programming languages. Each chapter centers around a specific language concept. It consists of a general discussion followed by a number of language sections, one for each of the languages Pascal, Algol 68, PL/1 and Ada. Each of these sections contains a number of illustrating program fragments written in the programming language concerned. For each program fragment in one language, there is an analogous fragment in the others. The book can be read "vertically" so that the programming languages Pascal, Algol 68, PL/1 and Ada are encountered in that order several times. A "horizontal" reading of the book would consist in selecting only those sections which only concern one language.
R 3,196.54

R 1,527.00

R 611.00

Data Structures and Efficient Algorithms
Algorithms are a central concept in computer science. TheGerman Science Foundation (DFG) started a special jointinitiative on data structures and efficient algorithms in1986 with the aim of encouraging collaborative research onalgorithms. For a period of five years about a dozenprojects were funded with an emphasis on algorithms and datastructures for geometric problems, on the one hand, andparallel and distributed algorithms, on the other.This volume contains 18 papers that are intended to give animpression of the achievements of this joint researchinitiative. The first group of papers addresses research onfundamental data structures, computational geometry, graphalgorithms, computer graphics, and spatial databases. Thesecond group of papers centers on the following problems:the design of parallel architectures and routing strategies,simulation of parallel machines, and the design ofdistributed algorithms for solving difficult problems.
R 1,573.86


First Course in Algorithms Through Puzzles
This textbook introduces basic algorithms and explains their analytical methods. All algorithms and methods introduced in this book are well known and frequently used in real programs. Intended to be self-contained, the contents start with the basic models, and no prerequisite knowledge is required. This book is appropriate for undergraduate students in computer science, mathematics, and engineering as a textbook, and is also appropriate for self-study by beginners who are interested in the fascinating field of algorithms. More than 40 exercises are distributed throughout the text, and their difficulty levels are indicated. Solutions and comments for all the exercises are provided in the last chapter. These detailed solutions will enable readers to follow the author's steps to solve problems and to gain a better understanding of the contents.
R 2,564.00


R 393.25

Java Library of Graph Algorithms and Optimization
Because of its portability and platform-independence, Java is the ideal computer programming language to use when working on graph algorithms and other mathematical programming problems. Collecting some of the most popular graph algorithms and optimization procedures, A Java Library of Graph Algorithms and Optimization provides the source code for a library of Java programs that can be used to solve problems in graph theory and combinatorial optimization. Self-contained and largely independent, each topic starts with a problem description and an outline of the solution procedure, followed by its parameter list specification, source code, and a test example that illustrates the usage of the code.The book begins with a chapter on random graph generation that examines bipartite, regular, connected, Hamilton, and isomorphic graphs as well as spanning, labeled, and unlabeled rooted trees. It then discusses connectivity procedures, followed by a paths and cycles chapter that contains the Chinese postman and traveling salesman problems, Euler and Hamilton cycles, and shortest paths. The author proceeds to describe two test procedures involving planarity and graph isomorphism. Subsequent chapters deal with graph coloring, graph matching, network flow, and packing and covering, including the assignment, bottleneck assignment, quadratic assignment, multiple knapsack, set covering, and set partitioning problems. The final chapters explore linear, integer, and quadratic programming. The appendices provide references that offer further details of the algorithms and include the definitions of many graph theory terms used in the book.
R 3,756.30

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


Data Structures in Depth Using C++
Understand and implement data structures and bridge the gap between theory and application. This book covers a wide range of data structures, from basic arrays and linked lists to advanced trees and graphs, providing readers with in-depth insights into their implementation and optimization in C++.You’ll explore crucial topics to optimize performance and enhance their careers in software development. In today's environment of growing complexity and problem scale, a profound grasp of C++ data structures, including efficient data handling and storage, is more relevant than ever. This book introduces fundamental principles of data structures and design, progressing to essential concepts for high-performance application.Finally, you’ll explore the application of data structures in real-world scenarios, including case studies and use in machine learning and big data. This practical, step-by-step approach, featuring numerous code examples, performance analysis and best practices, is written with a wide range of C++ programmers in mind. So, if you’re looking to solve complex data structure problems using C++, this book is your complete guide.What You Will LearnWrite robust and efficient C++ code.Apply data structures in real-world scenarios.Transition from basic to advanced data structuresUnderstand best practices and performance analysis.Design a flexible and efficient data structure library.Who This Book is For Software developers and engineers seeking to deepen their knowledge of data structures and enhanced coding efficiency, and ideal for those with a foundational understanding of C++ syntax. Secondary audiences include entry-level programmers seeking deeper dive into data structures, enhancing their skills, and preparing them for more advanced programming tasks. Finally, computer science students or programmers aiming to transition to C++ may find value in this book.
R 1,368.00

Object-Orientation, Abstraction, and Data Structures Using Scala
Praise for the first edition:"The well-written, comprehensive book…[is] aiming to become a de facto reference for the language and its features and capabilities. The pace is appropriate for beginners; programming concepts are introduced progressively through a range of examples and then used as tools for building applications in various domains, including sophisticated data structures and algorithms…Highly recommended. Students of all levels, faculty, and professionals/practitioners. —D. Papamichail, University of Miami in CHOICE MagazineMark Lewis’ Introduction to the Art of Programming Using Scala was the first textbook to use Scala for introductory CS courses. Fully revised and expanded, the new edition of this popular text has been divided into two books. Object-Orientation, Abstraction, and Data Structures Using Scala, Second Edition is intended to be used as a textbook for a second or third semester course in Computer Science.The Scala programming language provides powerful constructs for expressing both object orientation and abstraction. This book provides students with these tools of object orientation to help them structure solutions to larger, more complex problems, and to expand on their knowledge of abstraction so that they can make their code more powerful and flexible. The book also illustrates key concepts through the creation of data structures, showing how data structures can be written, and the strengths and weaknesses of each one. Libraries that provide the functionality needed to do real programming are also explored in the text, including GUIs, multithreading, and networking. The book is filled with end-of-chapter projects and exercises, and the authors have also posted a number of different supplements on the book website. Video lectures for each chapter in the book are also available on YouTube. The videos show construction of code from the ground up and this type of "live coding" is invaluable for learning to program, as it allows students into the mind of a more experienced programmer, where they can see the thought processes associated with the development of the code. About the AuthorsMark Lewis is an Associate Professor at Trinity University. He teaches a number of different courses, spanning from first semester introductory courses to advanced seminars. His research interests included simulations and modeling, programming languages, and numerical modeling of rings around planets with nearby moons. Lisa Lacher is an Assistant Professor at the University of Houston, Clear Lake with over 25 years of professional software development experience. She teaches a number of different courses spanning from first semester introductory courses to graduate level courses. Her research interests include Computer Science Education, Agile Software Development, Human Computer Interaction and Usability Engineering, as well as Measurement and Empirical Software Engineering.
R 5,962.34

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

Correspondence Analysis and Data Coding with Java and R
Developed by Jean-Paul Benzérci more than 30 years ago, correspondence analysis as a framework for analyzing data quickly found widespread popularity in Europe. The topicality and importance of correspondence analysis continue, and with the tremendous computing power now available and new fields of application emerging, its significance is greater than ever.Correspondence Analysis and Data Coding with Java and R clearly demonstrates why this technique remains important and in the eyes of many, unsurpassed as an analysis framework. After presenting some historical background, the author presents a theoretical overview of the mathematics and underlying algorithms of correspondence analysis and hierarchical clustering. The focus then shifts to data coding, with a survey of the widely varied possibilities correspondence analysis offers and introduction of the Java software for correspondence analysis, clustering, and interpretation tools. A chapter of case studies follows, wherein the author explores applications to areas such as shape analysis and time-evolving data. The final chapter reviews the wealth of studies on textual content as well as textual form, carried out by Benzécri and his research lab. These discussions show the importance of correspondence analysis to artificial intelligence as well as to stylometry and other fields.This book not only shows why correspondence analysis is important, but with a clear presentation replete with advice and guidance, also shows how to put this technique into practice. Downloadable software and data sets allow quick, hands-on exploration of innovative correspondence analysis applications.
R 3,820.79

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

R 699.09



R 1,254.00

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

R 1,067.00

125 Problems in Text Algorithms
String matching is one of the oldest algorithmic techniques, yet still one of the most pervasive in computer science. The past 20 years have seen technological leaps in applications as diverse as information retrieval and compression. This copiously illustrated collection of puzzles and exercises in key areas of text algorithms and combinatorics on words offers graduate students and researchers a pleasant and direct way to learn and practice with advanced concepts. The problems are drawn from a large range of scientific publications, both classic and new. Building up from the basics, the book goes on to showcase problems in combinatorics on words (including Fibonacci or Thue-Morse words), pattern matching (including Knuth-Morris-Pratt and Boyer-Moore like algorithms), efficient text data structures (including suffix trees and suffix arrays), regularities in words (including periods and runs) and text compression (including Huffman, Lempel-Ziv and Burrows-Wheeler based methods).
R 4,343.03

Basic Data Structures and Program Statements
This book covers C-Programming focussing on its practical side. Volume 1 deals mainly with basic data structures, algorithms and program statements. An extensive use of figures and examples help to give a clear description of concepts help the reader to gain a systematic understanding of the language.
R 1,345.00













































