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

R 4,454.00

Data Structures and Algorithms Using C#
C# programmers: no more translating data structures from C++ or Java to use in your programs! Mike McMillan provides a tutorial on how to use data structures and algorithms plus the first comprehensive reference for C# implementation of data structures and algorithms found in the .NET Framework library, as well as those developed by the programmer. The approach is very practical, using timing tests rather than Big O notation to analyze the efficiency of an approach. Coverage includes arrays and array lists, linked lists, hash tables, dictionaries, trees, graphs, and sorting and searching algorithms, as well as more advanced algorithms such as probabilistic algorithms and dynamic programming. This is the perfect resource for C# professionals and students alike.
R 5,694.38

R 1,221.00

Basic Concepts in Data Structures
Data structures are the fundamental building blocks of any computer program, used for storing, representing and manipulating data in a computer. This text presents the basic concepts of data structures as part of the art of writing computer programs. The author concentrates on the fundamentals of what should be done to solve a problem efficiently rather than technical implementation details. The text includes pseudocode and covers all the most common data structures, such as queues, stacks, trees, heaps, and hash tables, along with the basics of searching, sorting, and coding. This book can supplement any undergraduate algorithms or discrete math course and will also be accessible to students and researchers in other quantitative disciplines. No prerequisites beyond introductory programming and basic mathematics are required, and the accessible, conceptual presentation will appeal to undergraduates in many quantitative fields. Carefully designed problem sets with selected solutions will allow students to test their understanding.
R 1,869.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


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

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

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

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

Structured Java 2nd Edition
Java is an Object-Oriented Language. I believe that the Object-Oriented paradigm is extremely useful, but is very difficult to teach to beginning students. I also believe that there is a lot of benefit in understanding how to develop and debug good solid methods before we get into the additional complexities of the Object-Oriented paradigm. So there is a choice, we either teach our students multiple languages, or we find a way to teach them the basics of an object-oriented language, such as Java in a procedural fashion. A few things that I will stress in this book are: 1. Good Coding habits. Writing code so that others can read it. 2. Good Design habits. 3. Testing your code while building it. I call this Write a little, Test a little. 4. Project life cycle. I trust that this book will help in your understanding of Java and coding in general.
R 652.00

R 1,238.00



Efficient Parallel Algorithms
This is an introduction to the field of efficient parallel algorithms and to the techniques for efficient parallelisation. It is self-contained and presumes no special knowledge of parallel computers or particular mathematics. The book emphasises designing algorithms within the timeless and abstracted context of a high-level programming language rather than within highly specific computer architectures. This is an approach which concentrates on the essence of algorithmic theory, determining and taking advantage of the inherently parallel nature of certain types of problem. The authors present regularly-used techniques and a range of algorithms which includes some of the more celebrated and well-known. Efficient Parallel Algorithms is targeted at non-specialists who are considering entering the field of parallel algorithms. It will be particularly useful for courses aimed at advanced undergraduate or new postgraduate students of computer science and mathematics.
R 2,534.52

Software Engineering and Java
This book is written after several years of teaching Java at the Coastal College of Georgia. This book is a rewrite of my first book, Structured Java, and adds in the object-oriented programming (OOP) aspects of Java. It is geared towards students starting in computer science. I stress the basics of software engineering and building good methods in the first half and expand that effort in OOP in the second half. The goal is to build a solid foundation in Software Engineering, OOP, and Java.
R 846.00

Java and SQL
The book presents the key features of both Java and SQL, with particular emphasis on building applications which use both languages. It includes sections on accessing collections and large objects as well as simple types. Packed with useful code samples as well as discussions of general principles, it provides a valuable guide for students and professionals alike. Further information is available at www.javasql.co.uk
R 520.00

Design and Analysis of Algorithms
The text covers important algorithm design techniques, such as greedy algorithms, dynamic programming, and divide-and-conquer, and gives applications to contemporary problems. Techniques including Fast Fourier transform, KMP algorithm for string matching, CYK algorithm for context free parsing and gradient descent for convex function minimization are discussed in detail. The book's emphasis is on computational models and their effect on algorithm design. It gives insights into algorithm design techniques in parallel, streaming and memory hierarchy computational models. The book also emphasizes the role of randomization in algorithm design, and gives numerous applications ranging from data-structures such as skip-lists to dimensionality reduction methods.
R 2,720.36

Algorithms on Strings, Trees, and Sequences
String algorithms are a traditional area of study in computer science. In recent years their importance has grown dramatically with the huge increase of electronically stored text and of molecular sequence data (DNA or protein sequences) produced by various genome projects. This book is a general text on computer algorithms for string processing. In addition to pure computer science, the book contains extensive discussions on biological problems that are cast as string problems, and on methods developed to solve them. It emphasises the fundamental ideas and techniques central to today's applications. New approaches to this complex material simplify methods that up to now have been for the specialist alone. With over 400 exercises to reinforce the material and develop additional topics, the book is suitable as a text for graduate or advanced undergraduate students in computer science, computational biology, or bio-informatics. Its discussion of current algorithms and techniques also makes it a reference for professionals.
R 4,378.04

R 2,961.05

Efficient Algorithms for Listing Combinatorial Structures
First published in 1993, this thesis is concerned with the design of efficient algorithms for listing combinatorial structures. The research described here gives some answers to the following questions: which families of combinatorial structures have fast computer algorithms for listing their members? What general methods are useful for listing combinatorial structures? How can these be applied to those families which are of interest to theoretical computer scientists and combinatorialists? Amongst those families considered are unlabelled graphs, first order one properties, Hamiltonian graphs, graphs with cliques of specified order, and k-colourable graphs. Some related work is also included, which compares the listing problem with the difficulty of solving the existence problem, the construction problem, the random sampling problem, and the counting problem. In particular, the difficulty of evaluating Pólya's cycle polynomial is demonstrated.
R 2,023.54


Design of Approximation Algorithms
Discrete optimization problems are everywhere, from traditional operations research planning (scheduling, facility location and network design); to computer science databases; to advertising issues in viral marketing. Yet most such problems are NP-hard; unless P = NP, there are no efficient algorithms to find optimal solutions. This book shows how to design approximation algorithms: efficient algorithms that find provably near-optimal solutions. The book is organized around central algorithmic techniques for designing approximation algorithms, including greedy and local search algorithms, dynamic programming, linear and semidefinite programming, and randomization. Each chapter in the first section is devoted to a single algorithmic technique applied to several different problems, with more sophisticated treatment in the second section. The book also covers methods for proving that optimization problems are hard to approximate. Designed as a textbook for graduate-level algorithm courses, it will also serve as a reference for researchers interested in the heuristic solution of discrete optimization problems.
R 3,219.17

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

Network Flow Algorithms
Network flow theory has been used across a number of disciplines, including theoretical computer science, operations research, and discrete math, to model not only problems in the transportation of goods and information, but also a wide range of applications from image segmentation problems in computer vision to deciding when a baseball team has been eliminated from contention. This graduate text and reference presents a succinct, unified view of a wide variety of efficient combinatorial algorithms for network flow problems, including many results not found in other books. It covers maximum flows, minimum-cost flows, generalized flows, multicommodity flows, and global minimum cuts and also presents recent work on computing electrical flows along with recent applications of these flows to classical problems in network flow theory.
R 1,983.43

Algorithms for Convex Optimization
In the last few years, Algorithms for Convex Optimization have revolutionized algorithm design, both for discrete and continuous optimization problems. For problems like maximum flow, maximum matching, and submodular function minimization, the fastest algorithms involve essential methods such as gradient descent, mirror descent, interior point methods, and ellipsoid methods. The goal of this self-contained book is to enable researchers and professionals in computer science, data science, and machine learning to gain an in-depth understanding of these algorithms. The text emphasizes how to derive key algorithms for convex optimization from first principles and how to establish precise running time bounds. This modern text explains the success of these algorithms in problems of discrete optimization, as well as how these methods have significantly pushed the state of the art of convex optimization itself.
R 4,342.15

Beyond the Worst-Case Analysis of Algorithms
There are no silver bullets in algorithm design, and no single algorithmic idea is powerful and flexible enough to solve every computational problem. Nor are there silver bullets in algorithm analysis, as the most enlightening method for analyzing an algorithm often depends on the problem and the application. However, typical algorithms courses rely almost entirely on a single analysis framework, that of worst-case analysis, wherein an algorithm is assessed by its worst performance on any input of a given size. The purpose of this book is to popularize several alternatives to worst-case analysis and their most notable algorithmic applications, from clustering to linear programming to neural network training. Forty leading researchers have contributed introductions to different facets of this field, emphasizing the most important models and results, many of which can be taught in lectures to beginning graduate students in theoretical computer science and machine learning.
R 3,087.41

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

Algorithms for Convex Optimization
In the last few years, Algorithms for Convex Optimization have revolutionized algorithm design, both for discrete and continuous optimization problems. For problems like maximum flow, maximum matching, and submodular function minimization, the fastest algorithms involve essential methods such as gradient descent, mirror descent, interior point methods, and ellipsoid methods. The goal of this self-contained book is to enable researchers and professionals in computer science, data science, and machine learning to gain an in-depth understanding of these algorithms. The text emphasizes how to derive key algorithms for convex optimization from first principles and how to establish precise running time bounds. This modern text explains the success of these algorithms in problems of discrete optimization, as well as how these methods have significantly pushed the state of the art of convex optimization itself.
R 1,805.59



Algorithms on Strings
The book is intended for lectures on string processes and pattern matching in Master's courses of computer science and software engineering curricula. The details of algorithms are given with correctness proofs and complexity analysis, which make them ready to implement. Algorithms are described in a C-like language. The book is also a reference for students in computational linguistics or computational biology. It presents examples of questions related to the automatic processing of natural language, to the analysis of molecular sequences, and to the management of textual databases.
R 6,577.42


Algorithms for VLSI Design Automation
Modern microprocessors such as Intel's Pentium chip typically contain many millions of transistors. They are known generically as Very Large-Scale Integrated (VLSI) systems, and their sheer scale and complexity has necessitated the development of CAD tools to automate their design. This book focuses on the algorithms which are the building blocks of the design automation software which generates the layout of VLSI circuits. Courses on this area are typically elective courses taken at senior undergrad or graduate level by students of Electrical and Electronic Engineering, and sometimes in Computer Science, or Computer Engineering.
R 3,030.00






































