Search results for "Data Structures using C"
Items we need to order for you

R 548.00

Beginning Java Data Structures and Algorithms
Though your application serves its purpose, it might not be a high performer. Learn techniques to accurately predict code efficiency, easily dismiss inefficient solutions, and improve the performance of your application.Key FeaturesExplains in detail different algorithms and data structures with sample problems and Java implementations where appropriateIncludes interesting tips and tricks that enable you to efficiently use algorithms and data structuresCovers over 20 topics using 15 practical activities and exercises Book DescriptionLearning about data structures and algorithms gives you a better insight on how to solve common programming problems. Most of the problems faced everyday by programmers have been solved, tried, and tested. By knowing how these solutions work, you can ensure that you choose the right tool when you face these problems.This book teaches you tools that you can use to build efficient applications. It starts with an introduction to algorithms and big O notation, later explains bubble, merge, quicksort, and other popular programming patterns. You’ll also learn about data structures such as binary trees, hash tables, and graphs. The book progresses to advanced concepts, such as algorithm design paradigms and graph theory. By the end of the book, you will know how to correctly implement common algorithms and data structures within your applications.What you will learnUnderstand some of the fundamental concepts behind key algorithmsExpress space and time complexities using Big O notation.Correctly implement classic sorting algorithms such as merge and quicksortCorrectly implement basic and complex data structuresLearn about different algorithm design paradigms, such as greedy, divide and conquer, and dynamic programmingApply powerful string matching techniques and optimize your application logicMaster graph representations and learn about different graph algorithmsWho this book is forIf you want to better understand common data structures and algorithms by following code examples in Java and improve your application efficiency, then this is the book for you. It helps to have basic knowledge of Java, mathematics and object-oriented programming techniques.
R 912.00

VLSI Architecture for Concurrent Data Structures
Concurrent data structures simplify the development of concurrent programs by encapsulating commonly used mechanisms for synchronization and commu nication into data structures. This thesis develops a notation for describing concurrent data structures, presents examples of concurrent data structures, and describes an architecture to support concurrent data structures. Concurrent Smalltalk (CST), a derivative of Smalltalk-80 with extensions for concurrency, is developed to describe concurrent data structures. CST allows the programmer to specify objects that are distributed over the nodes of a concurrent computer. These distributed objects have many constituent objects and thus can process many messages simultaneously. They are the foundation upon which concurrent data structures are built. The balanced cube is a concurrent data structure for ordered sets. The set is distributed by a balanced recursive partition that maps to the subcubes of a binary 7lrcube using a Gray code. A search algorithm, VW search, based on the distance properties of the Gray code, searches a balanced cube in O(log N) time. Because it does not have the root bottleneck that limits all tree-based data structures to 0(1) concurrency, the balanced cube achieves 0C.:N) con currency. Considering graphs as concurrent data structures, graph algorithms are pre sented for the shortest path problem, the max-flow problem, and graph parti tioning. These algorithms introduce new synchronization techniques to achieve better performance than existing algorithms.
R 4,648.40


R 2,177.00

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

R 1,466.00

Computing in Cause-Effect Structures
This book focuses on numerous examples of tasks represented by c-e structure. Cause–effect (c-e) structures are dynamic objects devised for algebraic and graphic description of realistic tasks. They constitute a formal system providing means to specify or implement (depending on degree of description generality) the tasks. They can be transformed, thus come under simplification, in accordance with rules-axioms of their algebra. Also, their properties can be inferred from the axioms. One objective of this book is presentation, by many realistic examples, of computing capability of c-e structures, without entering into mathematical details of their algebra. In particular, how computing with natural numbers and in propositional calculus can be performed by c-e structures and how to specify behavior of data structures. But also demonstration of many other tasks taken from the area of parallel processing, specified as c-e structures. Another objective is modelling or simulation by means of c-e structures, of other descriptive systems, devised for tasks from various fields. Also without formalizing by usage of functions between the systems. This concerns formalisms such as reaction systems, rough sets, Petri nets and CSP-like languages. Also on such, where temporal interdependence between actions matters. The presentation of examples is prevalently graphic, in the form of peculiar nets, but accompanied by their algebraic and set-theoretic expressions. A fairly complete exposition of concepts and properties of the algebra of cause-effect structures is in the previous book appeared in the Lecture Notes in Networks and Systems series. But basic notions of c-e structures are here provided for understanding the examples.
R 4,230.08

Probabilistic Data Structures for Blockchain-Based Internet of Things Applications
This book covers theory and practical knowledge of Probabilistic data structures (PDS) and Blockchain (BC) concepts. It introduces the applicability of PDS in BC to technology practitioners and explains each PDS through code snippets and illustrative examples. Further, it provides references for the applications of PDS to BC along with implementation codes in python language for various PDS so that the readers can gain confidence using hands on experience. Organized into five sections, the book covers IoT technology, fundamental concepts of BC, PDS and algorithms used to estimate membership query, cardinality, similarity and frequency, usage of PDS in BC based IoT and so forth.
R 3,911.14



Design of Well-Structured and Correct Programs
The major goal of this book is to present the techniques of top-down program design and verification of program correctness hand-in-hand. It thus aims to give readers a new way of looking at algorithms and their design, synthesizing ten years of research in the process. It provides many examples of program and proof development with the aid of a formal and informal treatment of Hoare's method of invariants. Modem widely accepted control structures and data structures are explained in detail, together with their formal definitions, as a basis for their use in the design of correct algorithms. We provide and apply proof rules for a wide range of program structures, including conditionals, loops, procedures and recur sion. We analyze situations in which the restricted use of gotos can be justified, providing a new approach to proof rules for such situations. We study several important techniques of data structuring, including arrays, files, records and linked structures. The secondary goal of this book is to teach the reader how to use the programming language Pascal. This is the first text to teach Pascal pro gramming in a fashion which not only includes advanced algorithms which operate on advanced data structures, but also provides the full axiomatic definition of Pascal due to Wirth and Hoare. Our approach to the language is very different from that of a conventional programming text.
R 1,557.84

Live Data Structures in Logic Programs
A common hazard for implementations of applicativeprogramming languages is the excessive creation of garbagecells during program execution. The available run-timegarbage collecting processes are expensive in time and oftenrequire a periodic disruption of the program execution. Thepresent book addresses the problem of memory re-use forlogic programs through program analysis rather than byrun-time garbage collection. The static analysis isconstructed as an application of abstractinterpretation forlogic programs. The starting point is a previously developedapplication of integrated type and mode analysis, whichbasically supplies a description of the logical terms towhich program variables can be bound at run time. Thecontribution of the book consists of a modular extension ofthe abstract domain and operations in order to deriverun-time properties concerning the sharing and liveness ofterm substructures dynamically created during programexecution. Alsoillustrated is how such information can beused by the compiler to improve the allocation of run-timestructures and to automatically introduce destructiveassignments in logic languages in a safe and transparentway, thereby shifting some part of the run-time storagereclamation overhead to compile time.
R 1,546.52

R 1,221.00

Modular Calculus for the Average Cost of Data Structuring
This book introduces the first programming language for which average-case time analysis of its programs is guaranteed to be modular. The main time measure currently used for real-time languages (worst-case time) is well-known not to be modular in general, which makes average-case analysis notoriously difficult. Schellekens includes sample programs as well as derivations of the average-case time of these programs to illustrate this radically different approach.
R 3,032.31

Fundamentals of OOP and Data Structures in Java
Fundamentals of OOP and Data Structures in Java is a text for an introductory course on classical data structures. Part One of the book presents the basic principles of Object-Oriented Programming (OOP) and Graphical User Interface (GUI) programming with Java as the example language. Part Two introduces each of the major data structures with supporting, GUI-based laboratory programs designed to reinforce the basic concepts and principles of the text. These laboratories allow the reader to explore and experiment with the properties of each data structure. All source code for the laboratories is available on the web. By integrating the principles of OOP and GUI programming, this book takes the unique path of presenting the fundamental issues of data structures within the context of paradigms that are essential to today's professional software developer. The authors assume the reader has only an elementary understanding of Java and no experience with OOP.
R 4,574.54

Longitudinal Data Analysis
By looking at the processes of change over time - by carrying out longitudinal studies - researchers answer questions about learning, development, educational growth, social change and medical outcomes.However, longitudinal research has many faces. This book examines all the main approaches as well as newer developments (such as structural equation modelling, multilevel modelling and optimal scaling) to enable the reader to gain a thorough understanding of the approach and make appropriate decisions about which technique can be applied to the research problem. Conceptual explanations are used to keep technical terms to a minimum; examples are provided for each approach; issues of design, measurement and significance are considered; and a standard notation is used throughout.
R 4,418.42

Structural Bioinformatics: Applications in Preclinical Drug Discovery Process
This book reviews the advances and challenges of structure-based drug design in the preclinical drug discovery process, addressing various diseases, including malaria, tuberculosis and cancer. Written by internationally recognized researchers, this edited book discusses how the application of the various in-silico techniques, such as molecular docking, virtual screening, pharmacophore modeling, molecular dynamics simulations, and residue interaction networks offers insights into pharmacologically active novel molecular entities. It presents a clear concept of the molecular mechanism of different drug targets and explores methods to help understand drug resistance. In addition, it includes chapters dedicated to natural-product- derived medicines, combinatorial drug discovery, the CryoEM technique for structure-based drug design and big data in drug discovery.The book offers an invaluable resource for graduate and postgraduate students, as well as for researchers in academic and industrial laboratories working in the areas of chemoinformatics, medicinal and pharmaceutical chemistry and pharmacoinformatics.
R 5,832.30


Computing in Cause-Effect Structures
This book focuses on numerous examples of tasks represented by c-e structure. Cause–effect (c-e) structures are dynamic objects devised for algebraic and graphic description of realistic tasks. They constitute a formal system providing means to specify or implement (depending on degree of description generality) the tasks. They can be transformed, thus come under simplification, in accordance with rules-axioms of their algebra. Also, their properties can be inferred from the axioms. One objective of this book is presentation, by many realistic examples, of computing capability of c-e structures, without entering into mathematical details of their algebra. In particular, how computing with natural numbers and in propositional calculus can be performed by c-e structures and how to specify behavior of data structures. But also demonstration of many other tasks taken from the area of parallel processing, specified as c-e structures. Another objective is modelling or simulation by means of c-e structures, of other descriptive systems, devised for tasks from various fields. Also without formalizing by usage of functions between the systems. This concerns formalisms such as reaction systems, rough sets, Petri nets and CSP-like languages. Also on such, where temporal interdependence between actions matters. The presentation of examples is prevalently graphic, in the form of peculiar nets, but accompanied by their algebraic and set-theoretic expressions. A fairly complete exposition of concepts and properties of the algebra of cause-effect structures is in the previous book appeared in the Lecture Notes in Networks and Systems series. But basic notions of c-e structures are here provided for understanding the examples.
R 4,446.82


Automatic Coding: Choice of Data Structures
1.0 2 information structures, and the runtime efficiency available using lower level data structures. We believe these runtime inefficiencies can be remedied by providing a library of representations for the information structures and a user assisted automatic system to choose appropriate elements from this library for the user's programs. The main problems in such an automatic approach are: 1). Building a library of representations; 2). Characterizing the properties of these representations; 3). understanding how the user's program actually uses the abstract information structures; and -4). efficiently matching the user program needs with the properties of the known representations. The research reported here is an attempt to demonstrate the feasibility of such automatic representation selection. We allow the user to express data in terms of relations, sets, and sequences. Our system then obtains information by analysis of the program, execution statement profiles and interrogation of the user. Using that information, the system selects efficient (in terms of time and space) low level implementations for the user's information structures from a fixed library of information structure representations. Though we have considered only a few abstract information structures (those available in our programming language, SAIL) we believe the techniques used in this system are generally applicable.
R 1,254.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

Adaptive Processing of Sequences and Data Structures
This book is devoted to adaptive processing of structured information similar to flexible and intelligent information processing by humans - in contrast to merely sequential processing of predominantly symbolic information within a deterministic framework. Adaptive information processing allows for a mixture of sequential and parallel processing of symbolic as well as subsymbolic information within deterministic and probabilistic frameworks.The book originates from a summer school held in September 1997 and thus is ideally suited for advanced courses on adaptive information processing and advanced learning techniques or for self-instruction. Research and design professionals active in the area of neural information processing will find it a valuable state-of-the-art survey.
R 1,580.61

R 916.00

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

Modern Data Mining Algorithms in C++ and CUDA C
Discover a variety of data-mining algorithms that are useful for selecting small sets of important features from among unwieldy masses of candidates, or extracting useful features from measured variables. As a serious data miner you will often be faced with thousands of candidate features for your prediction or classification application, with most of the features being of little or no value. You’ll know that many of these features may be useful only in combination with certain other features while being practically worthless alone or in combination with most others. Some features may have enormous predictive power, but only within a small, specialized area of the feature space. The problems that plague modern data miners are endless. This book helps you solve this problem by presenting modern feature selection techniques and the code to implement them. Some of these techniques are:Forward selection component analysisLocal feature selectionLinking features and a target with a hidden Markov modelImprovements on traditional stepwise selectionNominal-to-ordinal conversion All algorithms are intuitively justified and supported by the relevant equations and explanatory material. The author also presents and explains complete, highly commented source code. The example code is in C++ and CUDA C but Python or other code can be substituted; the algorithm is important, not the code that's used to write it. What You Will LearnCombine principal component analysis with forward and backward stepwise selection to identify a compact subset of a large collection of variables that captures the maximum possible variation within the entire set.Identify features that may have predictive power over only a small subset of the feature domain. Such features can be profitably used by modern predictive models but may be missed by other feature selection methods.Find an underlying hidden Markov model that controls the distributions of feature variables and the target simultaneously. The memory inherent in this method is especially valuable in high-noise applications such as prediction of financial markets.Improve traditional stepwise selection in three ways: examine a collection of 'best-so-far' feature sets; test candidate features for inclusion with cross validation to automatically and effectively limit model complexity; and at each step estimate the probability that our results so far could be just the product of random good luck. We also estimate the probability that the improvement obtained by adding a new variable could have been just good luck. Take a potentially valuable nominal variable (a category or class membership) that is unsuitable for input to a prediction model, and assign to each category a sensible numeric value that can be used as a model input. Who This Book Is For Intermediate to advanced data science programmers and analysts.
R 1,693.78

Data Structures for Raster Graphics
Raster graphics differs from the more traditional vector or line graphics in the sense that images are not made up from line segments but from discrete elements orderly arranged in a two-dimensional rectangular region. There are two reasons for the growing popularity of raster graphics or bit-mapped displays: I) the possibilities they offer to show extremely realistic pictures 2) the dropping prices of those displays and associated processors and memories. With the rise of raster graphics, all kinds of new techniques, methods, algorithms and data representations are associated -such as ray tracing, raster operations, and quadtrees-bringing with them a lot of fruitful research. As stated above raster graphics allows to create extremely realistic (synthesized) pictures. There are important applications in such diverse areas as industrial deSign, flight Simulation, education, image processing and animation. Unfortunately many applications are hampered by the fact that with the present state of the art they reqUire an excessive amount of computing resources. Hence it is worthwhile to investigate methods and techniques which may be of help in redudng computer costs associated with raster graphics applications. Since the choice of data srtuc tures influences the efficiency of algorithms in a crudal way, a workshop was set up in order to bring together a (limited) number of experienced researchers to dis cuss this topic. The workshop was held from 24 to 28 June 1985 at Steensel, a tiny village in the neighbourhood of Eindhoven, the Netherlands.
R 4,335.32

Data Wrangling with R
This guide for practicing statisticians, data scientists, and R users and programmers will teach the essentials of preprocessing: data leveraging the R programming language to easily and quickly turn noisy data into usable pieces of information. Data wrangling, which is also commonly referred to as data munging, transformation, manipulation, janitor work, etc., can be a painstakingly laborious process. Roughly 80% of data analysis is spent on cleaning and preparing data; however, being a prerequisite to the rest of the data analysis workflow (visualization, analysis, reporting), it is essential that one become fluent and efficient in data wrangling techniques.This book will guide the user through the data wrangling process via a step-by-step tutorial approach and provide a solid foundation for working with data in R. The author's goal is to teach the user how to easily wrangle data in order to spend more time on understanding the content of the data. By the end of the book, the user will have learned: How to work with different types of data such as numerics, characters, regular expressions, factors, and datesThe difference between different data structures and how to create, add additional components to, and subset each data structureHow to acquire and parse data from locations previously inaccessibleHow to develop functions and use loop control structures to reduce code redundancyHow to use pipe operators to simplify code and make it more readableHow to reshape the layout of data and manipulate, summarize, and join data sets
R 3,176.98

Combinatorial Species and Tree-like Structures
The combinatorial theory of species, introduced by Joyal in 1980, provides a unified understanding of the use of generating functions for both labelled and unlabelled structures and as a tool for the specification and analysis of these structures. Of particular importance is their capacity to transform recursive definitions of tree-like structures into functional or differential equations, and vice versa. The goal of this book is to present the basic elements of the theory and to give a unified account of its developments and applications. It offers a modern introduction to the use of various generating functions, with applications to graphical enumeration, Polya theory and analysis of data structures in computer science, and to other areas such as special functions, functional equations, asymptotic analysis and differential equations. This book will be a valuable reference to graduate students and researchers in combinatorics, analysis, and theoretical computer science.
R 9,190.88

Introduction to Java Programming and Data Structures, Global Edition
For courses in Java programming. A fundamentals-first approach. Introduction to Java Programming and Data Structures, Global Edition integrates programming, data structures and algorithms into 1 text. It takes a fundamentals-first approach, building a strong foundation of basic concepts and techniques before teaching object-oriented and advanced programming. Programming is explained in a problem-driven way that focuses on problem solving rather than syntax, illustrating concepts by example and providing many exercises with various levels of difficulty for practice. The 13th Edition reflects Java 18 technology and is completely revised in every detail to enhance clarity, content, examples and exercises.
R 3,546.00


R 1,916.48



R 611.00


Algorithms and Data Structures
This book constitutes the refereed proceedings of the 18th International Symposium on Algorithms and Data Structures, WADS 2023, held during July 31-August 2, 2023. The 47 regular papers, presented in this book, were carefully reviewed and selected from a total of 92 submissions. They present original research on the theory, design and application of algorithms and data structures.
R 5,106.33

Algorithms and Data Structures
This book constitutes the refereed proceedings of the 16th International Symposium on Algorithms and Data Structures, WADS, 2019, held in Edmonton, AB, Canada, in August 2019. The 42 full papers presented together with 3 invited lectures, we carefully reviewed and selected from a total of 88 submissions. They present original research on the theory and application of algorithms and data structures in many areas, including combinatorics, computational geometry, databases, graphics, and parallel and distributed computing.
R 2,224.60

R 720.00

Data Clustering in C++
Data clustering is a highly interdisciplinary field, the goal of which is to divide a set of objects into homogeneous groups such that objects in the same group are similar and objects in different groups are quite distinct. Thousands of theoretical papers and a number of books on data clustering have been published over the past 50 years. However, few books exist to teach people how to implement data clustering algorithms. This book was written for anyone who wants to implement or improve their data clustering algorithms. Using object-oriented design and programming techniques, Data Clustering in C++ exploits the commonalities of all data clustering algorithms to create a flexible set of reusable classes that simplifies the implementation of any data clustering algorithm. Readers can follow the development of the base data clustering classes and several popular data clustering algorithms. Additional topics such as data pre-processing, data visualization, cluster visualization, and cluster interpretation are briefly covered.This book is divided into three parts-- Data Clustering and C++ Preliminaries: A review of basic concepts of data clustering, the unified modeling language, object-oriented programming in C++, and design patterns A C++ Data Clustering Framework: The development of data clustering base classes Data Clustering Algorithms: The implementation of several popular data clustering algorithms A key to learning a clustering algorithm is to implement and experiment the clustering algorithm. Complete listings of classes, examples, unit test cases, and GNU configuration files are included in the appendices of this book as well as in the downloadable resources. The only requirements to compile the code are a modern C++ compiler and the Boost C++ libraries.
R 3,863.85

Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms
Implicit objects have gained increasing importance in geometric modeling, visualisation, animation, and computer graphics, because their geometric properties provide a good alternative to traditional parametric objects. This book presents the mathematics, computational methods and data structures, as well as the algorithms needed to render implicit curves and surfaces, and shows how implicit objects can easily describe smooth, intricate, and articulatable shapes, and hence why they are being increasingly used in graphical applications. Divided into two parts, the first introduces the mathematics of implicit curves and surfaces, as well as the data structures suited to store their sampled or discrete approximations, and the second deals with different computational methods for sampling implicit curves and surfaces, with particular reference to how these are applied to functions in 2D and 3D spaces.
R 3,019.69

Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms
Implicit objects have gained increasing importance in geometric modeling, visualisation, animation, and computer graphics, because their geometric properties provide a good alternative to traditional parametric objects. This book presents the mathematics, computational methods and data structures, as well as the algorithms needed to render implicit curves and surfaces, and shows how implicit objects can easily describe smooth, intricate, and articulatable shapes, and hence why they are being increasingly used in graphical applications. Divided into two parts, the first introduces the mathematics of implicit curves and surfaces, as well as the data structures suited to store their sampled or discrete approximations, and the second deals with different computational methods for sampling implicit curves and surfaces, with particular reference to how these are applied to functions in 2D and 3D spaces.
R 3,950.94

R 1,220.00

R 1,270.00

R 1,650.88














































