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

Graph Algorithms
Learn how graph algorithms can help you leverage relationships within your data to develop intelligent solutions and enhance your machine learning models. With this practical guide, developers and data scientists will discover how graph analytics deliver value, whether they’re used for building dynamic network models or forecasting real-world behavior. Mark Needham and Amy Hodler from Neo4j explain how graph algorithms describe complex structures and reveal difficult-to-find patterns—from finding vulnerabilities and bottlenecks to detecting communities and improving machine learning predictions. You’ll walk through hands-on examples that show you how to use graph algorithms in Apache Spark and Neo4j, two of the most common choices for graph analytics. Learn how graph analytics reveal more predictive elements in today’s data Understand how popular graph algorithms work and how they’re applied Use sample code and tips from more than 20 graph algorithm examples Learn which algorithms to use for different types of questions Explore examples with working code and sample datasets for Spark and Neo4j Create an ML workflow for link prediction by combining Neo4j and Spark
R 1,824.00

Purely Functional Data Structures
Most books on data structures assume an imperative language like C or C++. However, data structures for these languages do not always translate well to functional languages such as Standard ML, Haskell, or Scheme. This book describes data structures from the point of view of functional languages, with examples, and presents design techniques so that programmers can develop their own functional data structures. It includes both classical data structures, such as red-black trees and binomial queues, and a host of new data structures developed exclusively for functional languages. All source code is given in Standard ML and Haskell, and most of the programs can easily be adapted to other functional languages. This handy reference for professional programmers working with functional languages can also be used as a tutorial or for self-study.
R 2,470.44


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

Purely Functional Data Structures
Most books on data structures assume an imperative language like C or C++. However, data structures for these languages do not always translate well to functional languages such as Standard ML, Haskell, or Scheme. This book describes data structures from the point of view of functional languages, with examples, and presents design techniques so that programmers can develop their own functional data structures. It includes both classical data structures, such as red-black trees and binomial queues, and a host of new data structures developed exclusively for functional languages. All source code is given in Standard ML and Haskell, and most of the programs can easily be adapted to other functional languages. This handy reference for professional programmers working with functional languages can also be used as a tutorial or for self-study.
R 4,288.61

Algorithms: Design Techniques And Analysis
Problem solving is an essential part of every scientific discipline. It has two components: (1) problem identification and formulation, and (2) the solution to the formulated problem. One can solve a problem on its own using ad hoc techniques or by following techniques that have produced efficient solutions to similar problems. This required the understanding of various algorithm design techniques, how and when to use them to formulate solutions, and the context appropriate for each of them.This book presents a design thinking approach to problem solving in computing — by first using algorithmic analysis to study the specifications of the problem, before mapping the problem on to data structures, then on to the situatable algorithms. Each technique or strategy is covered in its own chapter supported by numerous examples of problems and their algorithms. The new edition includes a comprehensive chapter on parallel algorithms, and many enhancements.
R 6,826.53

Design and Analysis of Algorithms
These are my lecture notes from CS681: Design and Analysis of Algo rithms, a one-semester graduate course I taught at Cornell for three consec utive fall semesters from '88 to '90. The course serves a dual purpose: to cover core material in algorithms for graduate students in computer science preparing for their PhD qualifying exams, and to introduce theory students to some advanced topics in the design and analysis of algorithms. The material is thus a mixture of core and advanced topics. At first I meant these notes to supplement and not supplant a textbook, but over the three years they gradually took on a life of their own. In addition to the notes, I depended heavily on the texts • A. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer Algorithms. Addison-Wesley, 1975. • M. R. Garey and D. S. Johnson, Computers and Intractibility: A Guide to the Theory of NP-Completeness. w. H. Freeman, 1979. • R. E. Tarjan, Data Structures and Network Algorithms. SIAM Regional Conference Series in Applied Mathematics 44, 1983. and still recommend them as excellent references.
R 3,043.48

Learning Algorithms
When it comes to writing efficient code, every software professional needs to have an effective working knowledge of algorithms. In this practical book, author George Heineman (Algorithms in a Nutshell) provides concise and informative descriptions of key algorithms that improve coding. Software developers, testers, and maintainers will discover how algorithms solve computational problems creatively.Each chapter builds on earlier chapters through eye-catching visuals and a steady rollout of essential concepts, including an algorithm analysis to classify the performance of every algorithm presented in the book. At the end of each chapter, you'll get to apply what you've learned to a novel challenge problem -- simulating the experience you might find in a technical code interview.With this book, you will:Examine fundamental algorithms central to computer science and software engineeringLearn common strategies for efficient problem solving -- such as divide and conquer, dynamic programming, and greedy approachesAnalyze code to evaluate time complexity using big O notationUse existing Python libraries and data structures to solve problems using algorithmsUnderstand the main steps of important algorithms
R 1,824.00

40 Algorithms Every Programmer Should Know
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental algorithms, such as sorting and searching, to modern algorithms used in machine learning and cryptographyKey FeaturesLearn the techniques you need to know to design algorithms for solving complex problemsBecome familiar with neural networks and deep learning techniquesExplore different types of algorithms and choose the right data structures for their optimal implementationBook DescriptionAlgorithms have always played an important role in both the science and practice of computing. Beyond traditional computing, the ability to use algorithms to solve real-world problems is an important skill that any developer or programmer must have. This book will help you not only to develop the skills to select and use an algorithm to solve real-world problems but also to understand how it works.You’ll start with an introduction to algorithms and discover various algorithm design techniques, before exploring how to implement different types of algorithms, such as searching and sorting, with the help of practical examples. As you advance to a more complex set of algorithms, you'll learn about linear programming, page ranking, and graphs, and even work with machine learning algorithms, understanding the math and logic behind them. Further on, case studies such as weather prediction, tweet clustering, and movie recommendation engines will show you how to apply these algorithms optimally. Finally, you’ll become well versed in techniques that enable parallel processing, giving you the ability to use these algorithms for compute-intensive tasks.By the end of this book, you'll have become adept at solving real-world computational problems by using a wide range of algorithms.What you will learnExplore existing data structures and algorithms found in Python librariesImplement graph algorithms for fraud detection using network analysisWork with machine learning algorithms to cluster similar tweets and process Twitter data in real timePredict the weather using supervised learning algorithmsUse neural networks for object detectionCreate a recommendation engine that suggests relevant movies to subscribersImplement foolproof security using symmetric and asymmetric encryption on Google Cloud Platform (GCP)Who this book is forThis book is for programmers or developers who want to understand the use of algorithms for problem-solving and writing efficient code. Whether you are a beginner looking to learn the most commonly used algorithms in a clear and concise way or an experienced programmer looking to explore cutting-edge algorithms in data science, machine learning, and cryptography, you'll find this book useful. Although Python programming experience is a must, knowledge of data science will be helpful but not necessary.
R 1,693.00

Elementary Approach To Design And Analysis Of Algorithms, An
'The book under review is an interesting elaboration that fills the gaps in libraries for concisely written and student-friendly books about essentials in computer science … I recommend this book for anyone who would like to study algorithms, learn a lot about computer science or simply would like to deepen their knowledge … The book is written in very simple English and can be understood even by those with limited knowledge of the English language. It should be emphasized that, despite the fact that the book consists of many examples, mathematical formulas and theorems, it is very hard to find any mistakes, errors or typos.'zbMATHIn computer science, an algorithm is an unambiguous specification of how to solve a class of problems. Algorithms can perform calculation, data processing and automated reasoning tasks.As an effective method, an algorithm can be expressed within a finite amount of space and time and in a well-defined formal language for calculating a function. Starting from an initial state and initial input (perhaps empty), the instructions describe a computation that, when executed, proceeds through a finite number of well-defined successive states, eventually producing 'output' and terminating at a final ending state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as randomized algorithms, incorporate random input.This book introduces a set of concepts in solving problems computationally such as Growth of Functions; Backtracking; Divide and Conquer; Greedy Algorithms; Dynamic Programming; Elementary Graph Algorithms; Minimal Spanning Tree; Single-Source Shortest Paths; All Pairs Shortest Paths; Flow Networks; Polynomial Multiplication, to ways of solving NP-Complete Problems, supported with comprehensive, and detailed problems and solutions, making it an ideal resource to those studying computer science, computer engineering and information technology.
R 4,323.00

Analysis and Design of Algorithms
Analysis and Design of Algorithms provides a structured view of algorithm design techniques in a concise, easy-to-read manner. The book was written with an express purpose of being easy — to understand, read, and carry.It presents a pioneering approach in the teaching of algorithms, based on learning algorithm design techniques, and not merely solving a collection of problems. This allows students to master one design technique at a time and apply it to a rich variety of problems.Analysis and Design of Algorithms covers the algorithmic design techniques of divide and conquer, greedy, dynamic programming, branch and bound, and graph traversal. For each of these techniques, there are templates and guidelines on when to use and not to use each technique. Many sections contain innovative mnemonics to aid the readers in remembering the templates and key takeaways. Additionally, the book covers NP-completeness and the inherent hardness of problems. The third edition includes a new section on polynomial multiplication, as well as additional exercise problems, and an updated appendix.Written with input from students and professionals, Analysis and Design of Algorithms is well suited for introductory algorithm courses at the undergraduate and graduate levels. The structured organization of the text makes it especially appropriate for online and distance learning.
R 4,803.12

Algorithms: A Top-down Approach
This comprehensive compendium provides a rigorous framework to tackle the daunting challenges of designing correct and efficient algorithms. It gives a uniform approach to the design, analysis, optimization, and verification of algorithms. The volume also provides essential tools to understand algorithms and their associated data structures.This useful reference text describes a way of thinking that eases the task of proving algorithm correctness. Working through a proof of correctness reveals an algorithm's subtleties in a way that a typical description does not. Algorithm analysis is presented using careful definitions that make the analyses mathematically rigorous.Related Link(s)
R 2,418.24

Introduction To The Analysis Of Algorithms (Fourth Edition)
An Introduction to the Analysis of Algorithms is a comprehensive textbook that presents the fundamental methods for designing and analyzing computational algorithms through rigorous mathematical frameworks and practical implementation guidance. The book systematically explores major algorithmic paradigms including greedy algorithms, divide and conquer, dynamic programming, online algorithms, randomized algorithms, and parallel algorithms in linear algebra, providing detailed analysis of correctness and performance for each approach.The text emphasizes algorithm design techniques and formal analysis using pre/post-conditions and loop invariants, while covering essential computational foundations including automata theory, regular expressions, and complexity analysis. A new chapter on machine learning introduces students to this rapidly growing field, covering both supervised learning methods like regression and classification, and unsupervised techniques such as clustering, providing a bridge between traditional algorithmic thinking and modern data-driven approaches. The book also addresses practical considerations such as algorithm implementation, optimization techniques, and real-world applications across various domains.Intended for undergraduate and graduate students in computer science and mathematics, the self-contained presentation includes all necessary background material, worked examples, and extensive problem sets, making it suitable as both a classroom textbook and a comprehensive reference for anyone seeking to master algorithmic problem-solving and analysis.
R 5,572.18

Compact Data Structures
Compact data structures help represent data in reduced space while allowing it to be queried, navigated, and operated in compressed form. They are essential tools for efficiently handling massive amounts of data by exploiting the memory hierarchy. They also reduce the resources needed in distributed deployments and make better use of the limited memory in low-end devices. The field has developed rapidly, reaching a level of maturity that allows practitioners and researchers in application areas to benefit from the use of compact data structures. This first comprehensive book on the topic focuses on the structures that are most relevant for practical use. Readers will learn how the structures work, how to choose the right ones for their application scenario, and how to implement them. Researchers and students in the area will find in the book a definitive guide to the state of the art in compact data structures.
R 3,633.00

50 Algorithms Every Programmer Should Know
Delve into the realm of generative AI and large language models (LLMs) while exploring modern deep learning techniques, including LSTMs, GRUs, RNNs with new chapters included in this 50% new edition overhaulPurchase of the print or Kindle book includes a free eBook in PDF format.Key FeaturesFamiliarize yourself with advanced deep learning architecturesExplore newer topics, such as handling hidden bias in data and algorithm explainabilityGet to grips with different programming algorithms and choose the right data structures for their optimal implementationBook DescriptionThe ability to use algorithms to solve real-world problems is a must-have skill for any developer or programmer. This book will help you not only to develop the skills to select and use an algorithm to tackle problems in the real world but also to understand how it works.You'll start with an introduction to algorithms and discover various algorithm design techniques, before exploring how to implement different types of algorithms, with the help of practical examples. As you advance, you'll learn about linear programming, page ranking, and graphs, and will then work with machine learning algorithms to understand the math and logic behind them.Case studies will show you how to apply these algorithms optimally before you focus on deep learning algorithms and learn about different types of deep learning models along with their practical use.You will also learn about modern sequential models and their variants, algorithms, methodologies, and architectures that are used to implement Large Language Models (LLMs) such as ChatGPT.Finally, you'll become well versed in techniques that enable parallel processing, giving you the ability to use these algorithms for compute-intensive tasks.By the end of this programming book, you'll have become adept at solving real-world computational problems by using a wide range of algorithms.What you will learnDesign algorithms for solving complex problemsBecome familiar with neural networks and deep learning techniquesExplore existing data structures and algorithms found in Python librariesImplement graph algorithms for fraud detection using network analysisDelve into state-of-the-art algorithms for proficient Natural Language Processing illustrated with real-world examplesCreate a recommendation engine that suggests relevant movies to subscribersGrasp the concepts of sequential machine learning models and their foundational role in the development of cutting-edge LLMsWho this book is forThis computer science book is for programmers or developers who want to understand the use of algorithms for problem-solving and writing efficient code.Whether you are a beginner looking to learn the most used algorithms concisely or an experienced programmer looking to explore cutting-edge algorithms in data science, machine learning, and cryptography, you'll find this book useful.Python programming experience is a must, knowledge of data science will be helpful but not n
R 1,628.00

R 544.00

R 1,544.76

Introduction To The Analysis Of Algorithms, An (3rd Edition)
A successor to the first and second editions, this updated and revised book is a leading companion guide for students and engineers alike, specifically software engineers who design algorithms. While succinct, this edition is mathematically rigorous, covering the foundations for both computer scientists and mathematicians with interest in the algorithmic foundations of Computer Science.Besides expositions on traditional algorithms such as Greedy, Dynamic Programming and Divide & Conquer, the book explores two classes of algorithms that are often overlooked in introductory textbooks: Randomised and Online algorithms — with emphasis placed on the algorithm itself. The book also covers algorithms in Linear Algebra, and the foundations of Computation.The coverage of Randomized and Online algorithms is timely: the former have become ubiquitous due to the emergence of cryptography, while the latter are essential in numerous fields as diverse as operating systems and stock market predictions.While being relatively short to ensure the essentiality of content, a strong focus has been placed on self-containment, introducing the idea of pre/post-conditions and loop invariants to readers of all backgrounds, as well as all the necessary mathematical foundations. The programming exercises in Python will be available on the web (see www.msoltys.com/book for the companion web site).
R 3,513.76

R 608.00

Algorithms Unlocked
For anyone who has ever wondered how computers solve problems, an engagingly written guide for nonexperts to the basics of computer algorithms. Have you ever wondered how your GPS can find the fastest way to your destination, selecting one route from seemingly countless possibilities in mere seconds? How your credit card account number is protected when you make a purchase over the Internet? The answer is algorithms. And how do these mathematical formulations translate themselves into your GPS, your laptop, or your smart phone? This book offers an engagingly written guide to the basics of computer algorithms. In Algorithms Unlocked, Thomas Cormen-coauthor of the leading college textbook on the subject-provides a general explanation, with limited mathematics, of how algorithms enable computers to solve problems. Readers will learn what computer algorithms are, how to describe them, and how to evaluate them. They will discover simple ways to search for information in a computer; methods for rearranging information in a computer into a prescribed order ("sorting"); how to solve basic problems that can be modeled in a computer with a mathematical structure called a "graph" (useful for modeling road networks, dependencies among tasks, and financial relationships); how to solve problems that ask questions about strings of characters such as DNA structures; the basic principles behind cryptography; fundamentals of data compression; and even that there are some problems that no one has figured out how to solve on a computer in a reasonable amount of time.
R 1,099.00

R 708.00

R 683.00

R 611.00

Algorithms: A Top-down Approach
This comprehensive compendium provides a rigorous framework to tackle the daunting challenges of designing correct and efficient algorithms. It gives a uniform approach to the design, analysis, optimization, and verification of algorithms. The volume also provides essential tools to understand algorithms and their associated data structures.This useful reference text describes a way of thinking that eases the task of proving algorithm correctness. Working through a proof of correctness reveals an algorithm's subtleties in a way that a typical description does not. Algorithm analysis is presented using careful definitions that make the analyses mathematically rigorous.Related Link(s)
R 6,002.37

R 535.00

Algorithms
An accessible introduction to algorithms, explaining not just what they are but how they work, with examples from a wide range of application areas.Digital technology runs on algorithms, sets of instructions that describe how to do something efficiently. Application areas range from search engines to tournament scheduling, DNA sequencing, and machine learning. Arguing that every educated person today needs to have some understanding of algorithms and what they do, in this volume in the MIT Press Essential Knowledge series, Panos Louridas offers an introduction to algorithms that is accessible to the nonspecialist reader. Louridas explains not just what algorithms are but also how they work, offering a wide range of examples and keeping mathematics to a minimum. After discussing what an algorithm does and how its effectiveness can be measured, Louridas covers three of the most fundamental applications areas: graphs, which describe networks, from eighteenth-century problems to today's social networks; searching, and how to find the fastest way to search; and sorting, and the importance of choosing the best algorithm for particular tasks. He then presents larger-scale applications: PageRank, Google's founding algorithm; and neural networks and deep learning. Finally, Louridas describes how all algorithms are nothing more than simple moves with pen and paper, and how from such a humble foundation rise all their spectacular achievements.
R 387.00


R 671.00

R 550.00

R 458.00




R 492.00

R 1,352.55

R 611.00

R 544.00

R 957.69


R 458.00

Algorithmentheorie
Die Algorithmentheorie ist Ende der dreiBiger Jahre entstanden in Ver- bindung mit Problemen der mathematischen Logik. Hit dem Aufkommen einer wissenschaftlich fundierten Informatik hat sie, insbesondere in den letzten zwanzig Jahren, an Bedeutung und Tragweite gewonnen. Das wird begreiflich, wenn man bedenkt, daB ein Programm flir eine elektronische Rechenanlage im wesentlichen ein Algorithmus ist und daB Resultate der Algorithmentheorie deshalb auch auf Programme anwendbar sind. Insbeson- dere gibt es eine enge Verbindung zwischen der Algorithmentheorie und anderen flir die Informatik bedeutsamen Zweigen, wie der Automatentheorie, der Theorie der formalen Sprachen und der sich in den letzten Jahren heranbildenden Theorie der Programmierung. Wahrend die meisten Blicher liber Algorithmentheorie sich an Studenten der mathematischen Logik richten, ist dieses Buch flir Informatikstuden- ten bestimmt. Zwar wird das Thema mit mathematischer Scharfe behandelt, aber es werden keine besonderen mathematischen Kenntnisse vorausgesetzt und die zahlreichen Kommentare zielen daraufhin, ein gutes intuitives Verstandnis zu ermoglichen; auBerdem hebt das Buch regelmaBig die Be- deutung der Resultate flir die Informatik hervor. SchlieBlich sind die Notationen und bestimmte Beweismethoden der Automatentheorie und der Theorie der formalen Sprachen entnommen; insbesondere wird grundsatz- lich mit Worten statt mit natlirlichen Zahlen gearbeitet.
R 2,442.03

Hybrid Algorithms for Service, Computing and Manufacturing Systems
Hybrid Algorithms for Service, Computing and Manufacturing Systems: Routing and Scheduling Solutions explores research developments and applications from an interdisciplinary perspective that combines approaches from operations research, computer science, artificial intelligence, and applied computational mathematics. Contributions cover a range of hybrid algorithm theory and practice as it relates to routing, scheduling, and real-life applications.
R 6,993.89

R 4,445.00












































