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

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


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


R 2,177.00

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

R 1,037.47


R 949.69

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

Common-Sense Guide to Data Structures and Algorithms in Python, Volume 1
If you thought data structures and algorithms were all just theory, you're missing out on what they can do for your Python code. Learn to use Big O notation to make your code run faster by orders of magnitude. Choose from data structures such as hash tables, trees, and graphs to increase your code's efficiency exponentially. With simple language and clear diagrams, this book makes this complex topic accessible, no matter your background. Every chapter features practice exercises to give you the hands-on information you need to master data structures and algorithms for your day-to-day work.Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for today's web and mobile apps. Take a practical approach to data structures and algorithms, with techniques and real-world scenarios that you can use in your daily production code. The Python edition uses Python exclusively for all code examples, exercise, and solutions.Use Big O notation to measure and articulate the efficiency of your code, and modify your algorithm to make it faster. Find out how your choice of arrays, linked lists, and hash tables can dramatically affect the code you write. Use recursion to solve tricky problems and create algorithms that run exponentially faster than the alternatives. Dig into advanced data structures such as binary trees and graphs to help scale specialized applications such as social networks and mapping software. You'll even encounter a single keyword that can give your code a turbo boost. Practice your new skills with exercises in every chapter, along with detailed solutions.Use these techniques today to make your Python code faster and more scalable.
R 2,005.00

R 916.00


Datenstrukturen und effiziente Algorithmen
Der Entwurf und die Analyse von Datenstrukturen und effizienten Algorithmen hat in den letzten Jahren große Bedeutung erlangt: Algorithmus ist der zentrale Begriff der Informatik und Effizienz bedeutet Geld. Ich habe den Stoff in drei Bände und neun Kapitel gegliedert. Band 1: Sortieren und Suchen (Kapitel I bis ill) Band 2: Graphenalgorithmen und NP-Vollständigkeit (Kapitel IV bis VI) Band 3: Mehrdimensionales Suchen und Algorithmische Geometrie (Kapitel VII und Vill), Algorithmische Paradigmen (Kapitel IX) Die Bände 2 und 3 haben Band 1 als gemeinsame Basis, sind aber voneinander un abhängig. Große Teile dieser Bände können ohne detaillierte Kenntnis von Band 1 gelesen werden; eine Kenntnis der algorithmischen Grundprinzipien, wie sie etwa in Kapitel I oder in vielen anderen Büchern über Datenstrukturen und Algorith men vermittelt werden, genügt. Die spezifischen Voraussetzungen für die Bände 2 und 3 sind in den jeweiligen Vorworten angegeben. In allen drei Bänden stellen wir wichtige effiziente Algorithmen für die grundlegenden Probleme in dem jeweiligen Gebiet vor und analysieren sie. Wir messen dabei Effizienz durch die Laufzeit auf einem realistischen Modell einer Rechenanlage, das wir in Kapitel I einführen. Die meisten der vorgestellten Algorithmen wurden erst in den letzten Jahren gefunden; die Informatik ist ja schließlich eine sehr junge Wissenschaft. Es gibt kaum Sätze in diesem Buch, die älter als 20 Jahre sind, und mindestens die Hälfte des Stoffes ist jünger als 10 Jahre. Ich habe stets versucht, den Leser bis an den Stand der Forschung heranzuführen.
R 2,484.81

Algorithms and Data Structures in VLSI Design
One of the main problems in chip design is the enormous number of possible combinations of individual chip elements within a system, and the problem of their compatibility. The recent application of data structures, efficient algorithms, and ordered binary decision diagrams (OBDDs) has proven vital in designing the computer chips of tomorrow. This book provides an introduction to the foundations of this interdisciplinary research area, emphasizing its applications in computer aided circuit design.
R 2,015.00

R 1,916.48

R 1,527.00

R 1,037.62

R 611.00


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



R 1,220.00





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

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

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

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


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

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


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

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





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


R 1,831.00

R 2,870.00

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
















































