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

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 611.00

Algorithms for Functional Programming
This book presents a variety of widely used algorithms, expressing them in a pure functional programming language to make their structure and operation clearer to readers. In the opening chapter the author introduces the specific notations that constitute the variant of Scheme that he uses. The second chapter introduces many of the simpler and more general patterns available in functional programming. The chapters that follow introduce and explain data structures, sorting, combinatorial constructions, graphs, and sublist search.Throughout the book the author presents the algorithms in a purely functional version of the Scheme programming language, which he makes available on his website. The book is supported with exercises, and it is suitable for undergraduate and graduate courses on programming techniques.
R 2,763.70


Learning JavaScript Data Structures and Algorithms -
Hone your skills by learning classic data structures and algorithms in JavaScriptAbout This Book• Understand common data structures and the associated algorithms, as well as the context in which they are used.• Master existing JavaScript data structures such as array, set and map and learn how to implement new ones such as stacks, linked lists, trees and graphs.• All concepts are explained in an easy way, followed by examples.Who This Book Is ForIf you are a student of Computer Science or are at the start of your technology career and want to explore JavaScript's optimum ability, this book is for you. You need a basic knowledge of JavaScript and programming logic to start having fun with algorithms.What You Will Learn• Declare, initialize, add, and remove items from arrays, stacks, and queues• Get the knack of using algorithms such as DFS (Depth-first Search) and BFS (Breadth-First Search) for the most complex data structures• Harness the power of creating linked lists, doubly linked lists, and circular linked lists• Store unique elements with hash tables, dictionaries, and sets• Use binary trees and binary search trees• Sort data structures using a range of algorithms such as bubble sort, insertion sort, and quick sortIn DetailThis book begins by covering basics of the JavaScript language and introducing ECMAScript 7, before gradually moving on to the current implementations of ECMAScript 6. You will gain an in-depth knowledge of how hash tables and set data structure functions, as well as how trees and hash maps can be used to search files in a HD or represent a database. This book is an accessible route deeper into JavaScript. Graphs being one of the most complex data structures you'll encounter, we'll also give you a better understanding of why and how graphs are largely used in GPS navigation systems in social networks.Toward the end of the book, you'll discover how all the theories presented by this book can be applied in real-world solutions while working on your own computer networks and Facebook searches.Style and approachThis book gets straight to the point, providing you with examples of how a data structure or algorithm can be used and giving you real-world applications of the algorithm in JavaScript. With real-world use cases associated with each data structure, the book explains which data structure should be used to achieve the desired results in the real world.
R 1,661.00

R 1,207.25

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




Algorithms and Data Structures
This book constitutes the refereed proceedings of the 5th International Workshop on Algorithms and Data Structures, WADS'97, held in Nova Scotia, Halifax, Canada, in August 1997.The 37 revised full papers presented were carefully selected from a total of 81 submissions. Also included are four abstracts and one full contribution corresponding to the invited talks. Among the topics covered are data structures and algorithmic aspects in a variety of areas like computational geometry, graph theory, networking, load balancing, optimization, approximation, sorting, pattern matching, etc.
R 1,587.07

Problems on Algorithms
With approximately 2500 problems, this book provides a collection of practical problems on the basic and advanced data structures, design, and analysis of algorithms. To make this book suitable for self-instruction, about one-third of the algorithms are supported by solutions, and some others are supported by hints and comments. This book is intended for students wishing to deepen their knowledge of algorithm design in an undergraduate or beginning graduate class on algorithms, for those teaching courses in this area, for use by practicing programmers who wish to hone and expand their skills, and as a self-study text for graduate students who are preparing for the qualifying examination on algorithms for a Ph.D. program in Computer Science or Computer Engineering. About all, it is a good source for exam problems for those who teach algorithms and data structure. The format of each chapter is just a little bit of instruction followed by lots of problems. This book is intended to augment the problem sets found in any standard algorithms textbook. This book • begins with four chapters on background material that most algorithms instructors would like their students to have mastered before setting foot in an algorithms class. The introductory chapters include mathematical induction, complexity notations, recurrence relations, and basic algorithm analysis methods. • provides many problems on basic and advanced data structures including basic data structures (arrays, stack, queue, and linked list), hash, tree, search, and sorting algorithms. • provides many problems on algorithm design techniques: divide and conquer, dynamic programming, greedy algorithms, graph algorithms, and backtracking algorithms. • is rounded out with a chapter on NP-completeness.
R 2,564.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

Algorithms
Algorithms play a central role both in the theory and in the practice of computing. The goal of the authors was to write a textbook that would not trivialize the subject but would still be readable by most students on their own. The book contains over 120 exercises. Some of them are drills; others make important points about the material covered in the text or introduce new algorithms not covered there. The book also provides programming projects. From the Table of Contents: Chapter 1: Basic knowledge of Mathematics, Relations, Recurrence relation and Solution techniques, Function and Growth of functions. Chapter 2: Different Sorting Techniques and their analysis. Chapter 3: Greedy approach, Dynamic Programming, Branch and Bound techniques, Backtracking and Problems, Amortized analysis, and Order Statics. Chapter 4: Graph algorithms, BFS, DFS, Spanning Tree, Flow Maximization Algorithms. Shortest Path Algorithms. Chapter 5: Binary search tree, Red black Tree, Binomial heap, B-Tree and Fibonacci Heap. Chapter 6: Approximation Algorithms, Sorting Networks, Matrix operations, Fast Fourier Transformation, Number theoretic Algorithm, Computational geometry Randomized Algorithms, String matching, NP-Hard, NP-Completeness, Cooks theorem.
R 1,687.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

R 949.69

R 1,527.00


R 1,221.00


Algorithms and Data Structures
This volume contains the papers presented at the 11th Algorithms and Data Structures Symposium, WADS 2009 (formerly Workshop on Algorithms and Data Structures), held during August 21-23, 2009 in Ban?, Alberta, Canada. WADS alternates with the Scandinavian Workshop on Algorithms Theory (SWAT), continuing the tradition of SWAT and WADS starting with SWAT 1988 and WADS 1989. Inresponsetothecallforpapers,126papersweresubmitted. Fromtheses- missions, the ProgramCommittee selected 49 papers for presentation at WADS 2009. In addition, invited lectures were given by the following distinguished researchers: Erik Demaine, Richard Karp, and Christos Papadimitriou. On behalf of the Program Committee, we would like to express our appre- ation to the invited speakers, reviewers and all authors who submitted papers. May 2009 Frank Dehne Marina Gavrilova J.. org-Ru ..diger Sack Csaba D. T' oth Conference Organization Program Chairs Frank Dehne Marina Gavrilova Joerg-Ruediger Sack Csaba D.Toth Program Committee Sergei Bereg Allan Borodin Gerth Stolting Brodal Timothy Chan Mark de Berg Frank Devai Matt Duckham Rolf Fagerberg Randolph Franklin Joachim Gudmundsson Susanne Hambrusch Rolf Klein Mike Langston Ming Li Friedhelm Meyer auf der Heide Ian Munro Jon Rokne Shashi Shekhar Bettina Speckmann Paul Spirakis Gabor Tardos Je? Vitter Frances F. Yao Local Organization Marina Gavrilova Csaba D. Toth Jon Rokne Maruf Monwar Kushan Ahmadian Table of Contents On the Power of the Semi-Separated Pair Decomposition...1 Mohammad Ali Abam, Paz Carmi, Mohammad Farshi, and Michiel Smid Plane Graphs with Parity Constraints...
R 1,603.24

Data Structures using C
The data structure is a set of specially organized data elements and functions, which are defined to store, retrieve, remove and search for individual data elements. Data Structures using C: A Practical Approach for Beginners covers all issues related to the amount of storage needed, the amount of time required to process the data, data representation of the primary memory and operations carried out with such data. Data Structures using C: A Practical Approach for Beginners book will help students learn data structure and algorithms in a focused way. Resolves linear and nonlinear data structures in C language using the algorithm, diagrammatically and its time and space complexity analysis Covers interview questions and MCQs on all topics of campus readiness Identifies possible solutions to each problem Includes real-life and computational applications of linear and nonlinear data structuresThis book is primarily aimed at undergraduates and graduates of computer science and information technology. Students of all engineering disciplines will also find this book useful.
R 7,591.29


R 1,650.88


Data Science with Java
Data Science is booming thanks to R and Python, but Java brings the robustness, convenience, and ability to scale critical to today's data science applications. With this practical book, Java software engineers looking to add data science skills will take a logical journey through the data science pipeline. Author Michael Brzustowicz explains the basic math theory behind each step of the data science process, as well as how to apply these concepts with Java.You'll learn the critical roles that data IO, linear algebra, statistics, data operations, learning and prediction, and Hadoop MapReduce play in the process. Throughout this book, you'll find code examples you can use in your applications.Examine methods for obtaining, cleaning, and arranging data into its purest formUnderstand the matrix structure that your data should takeLearn basic concepts for testing the origin and validity of dataTransform your data into stable and usable numerical valuesUnderstand supervised and unsupervised learning algorithms, and methods for evaluating their successGet up and running with MapReduce, using customized components suitable for data science algorithms
R 2,076.00

Algorithms Illuminated
In Algorithms Illuminated, Tim Roughgarden teaches the basics of algorithms in the most accessible way imaginable. This Omnibus Edition contains the complete text of Parts 1-4, with thorough coverage of asymptotic analysis, graph search and shortest paths, data structures, divide-and-conquer algorithms, greedy algorithms, dynamic programming, and NP-hard problems. Hundreds of worked examples, quizzes, and exercises, plus comprehensive online videos, help readers become better programmers; sharpen their analytical skills; learn to think algorithmically; acquire literacy with computer science's greatest hits; and ace their technical interviews.
R 2,437.00

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

Foundations of Multidimensional and Metric Data Structures
Foundations of Multidimensional and Metric Data Structures provides a thorough treatment of multidimensional point data, object and image-based representations, intervals and small rectangles, and high-dimensional datasets. The book includes a thorough introduction; a comprehensive survey to spatial and multidimensional data structures and algorithms; and implementation details for the most useful data structures. Each section includes a large number of exercises and solutions to self-test and confirm the reader's understanding and suggest future directions. The book is an excellent and valuable reference tool for professionals in many areas, including computer graphics, databases, geographic information systems (GIS), game programming, image processing, pattern recognition, solid modeling, similarity retrieval, and VLSI design.
R 2,471.00

Java Programming Exercises
Raise your coding skills to the next level and test your Java knowledge on tricky programming tasks with the help of the pirate Captain CiaoCiao. Author and Java champion Christian Ullenboom provides you with everything you need: Exercises on features and tricks that you should know in detail as a professional, as well as intensive training for clean code and thoughtful design that carries even complex software.Features:• 300 tasks with commented solutions on different levels• For all paradigms: object-oriented, imperative and functional• Clean code, reading foreign code, object-oriented modelingNumerous best practices and extensively commented solutions to the tasks make this book the perfect workout for professional software development with Java.
R 3,181.60



R 2,748.00

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

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

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

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

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

R 1,301.00

C++ Data Structures: A Laboratory Course
C++ Data Structures: A Laboratory Course exemplifies the active learning experience. With a dynamic learn-by-doing focus, this laboratory manual encourages students to explore data structures by implementing them, a process through which students discover how data structures work and how they can be applied. Providing a framework that offers feedback and support, this text challenges students to exercise their creativity in both programming and analysis. Topics covered include: Text ADT, BlogEntry ADT, Stack ADT, Heap ADT, Weighted Graph ADT, and much more!
R 3,206.00

R 1,831.00

Learning JavaScript Data Structures and Algorithms
If you are a JavaScript developer or someone who has basic knowledge of JavaScript, and want to explore its optimum ability, this fast-paced book is definitely for you. Programming logic is the only thing you need to know to start having fun with algorithms.
R 1,661.00














































