Algorithms and data structures Books
Springer International Publishing AG Similarity Joins in Relational Database Systems
Book SynopsisState-of-the-art database systems manage and process a variety of complex objects, including strings and trees. For such objects equality comparisons are often not meaningful and must be replaced by similarity comparisons. This book describes the concepts and techniques to incorporate similarity into database systems. We start out by discussing the properties of strings and trees, and identify the edit distance as the de facto standard for comparing complex objects. Since the edit distance is computationally expensive, token-based distances have been introduced to speed up edit distance computations. The basic idea is to decompose complex objects into sets of tokens that can be compared efficiently. Token-based distances are used to compute an approximation of the edit distance and prune expensive edit distance calculations. A key observation when computing similarity joins is that many of the object pairs, for which the similarity is computed, are very different from each other. Filters exploit this property to improve the performance of similarity joins. A filter preprocesses the input data sets and produces a set of candidate pairs. The distance function is evaluated on the candidate pairs only. We describe the essential query processing techniques for filters based on lower and upper bounds. For token equality joins we describe prefix, size, positional and partitioning filters, which can be used to avoid the computation of small intersections that are not needed since the similarity would be too low.Table of ContentsPreface.- Acknowledgments.- Introduction.- Data Types.- Edit-Based Distances.- Token-Based Distances.- Query Processing Techniques.- Filters for Token Equality Joins.- Conclusion.- Bibliography.- Authors' Biographies.- Index.
£26.59
Springer International Publishing AG Query Answer Authentication
Book SynopsisIn data publishing, the owner delegates the role of satisfying user queries to a third-party publisher. As the servers of the publisher may be untrusted or susceptible to attacks, we cannot assume that they would always process queries correctly, hence there is a need for users to authenticate their query answers. This book introduces various notions that the research community has studied for defining the correctness of a query answer. In particular, it is important to guarantee the completeness, authenticity and minimality of the answer, as well as its freshness. We present authentication mechanisms for a wide variety of queries in the context of relational and spatial databases, text retrieval, and data streams. We also explain the cryptographic protocols from which the authentication mechanisms derive their security properties. Table of Contents: Introduction / Cryptography Foundation / Relational Queries / Spatial Queries / Text Search Queries / Data Streams / ConclusionTable of ContentsIntroduction.- Cryptography Foundation.- Relational Queries.- Spatial Queries.- Text Search Queries.- Data Streams.- Conclusion.
£999.99
Springer International Publishing AG Semantics Empowered Web 3.0
Book SynopsisAfter the traditional document-centric Web 1.0 and user-generated content focused Web 2.0, Web 3.0 has become a repository of an ever growing variety of Web resources that include data and services associated with enterprises, social networks, sensors, cloud, as well as mobile and other devices that constitute the Internet of Things. These pose unprecedented challenges in terms of heterogeneity (variety), scale (volume), and continuous changes (velocity), as well as present corresponding opportunities if they can be exploited. Just as semantics has played a critical role in dealing with data heterogeneity in the past to provide interoperability and integration, it is playing an even more critical role in dealing with the challenges and helping users and applications exploit all forms of Web 3.0 data. This book presents a unified approach to harness and exploit all forms of contemporary Web resources using the core principles of ability to associate meaning with data through conceptual or domain models and semantic descriptions including annotations, and through advanced semantic techniques for search, integration, and analysis. It discusses the use of Semantic Web standards and techniques when appropriate, but also advocates the use of lighter weight, easier to use, and more scalable options when they are more suitable. The authors' extensive experience spanning research and prototypes to development of operational applications and commercial technologies and products guide the treatment of the material. Table of Contents: Role of Semantics and Metadata / Types and Models of Semantics / Annotation -- Adding Semantics to Data / Semantics for Enterprise Data / Semantics for Services / Semantics for Sensor Data / Semantics for Social Data / Semantics for Cloud Computing / Semantics for Advanced ApplicationsTable of ContentsRole of Semantics and Metadata.- Types and Models of Semantics.- Annotation -- Adding Semantics to Data.- Semantics for Enterprise Data.- Semantics for Services.- Semantics for Sensor Data.- Semantics for Social Data.- Semantics for Cloud Computing.- Semantics for Advanced Applications.
£999.99
Springer International Publishing AG The Semantic Web: ESWC 2022 Satellite Events: Hersonissos, Crete, Greece, May 29 – June 2, 2022, Proceedings
Book SynopsisThis book constitutes the proceedings of the satellite events held at the 19th Extended Semantic Web Conference, ESWC 2022, during May—June in Hersonissos, Greece, 2022. The included satellite events are: the poster and demo session; the PhD symposium; industry track; project networking; workshops and tutorials. During ESWC 2022, the following ten workshops took place:10th Linked Data in Architecture and Construction Workshop (LDAC 2022); 5th International Workshop on Geospatial Linked Data (GeoLD 2022); 5th Workshop on Semantic Web solutions for large-scale biomedical data analytics (SeMWeBMeDA 2022); 7th Natural Language Interfaces for the Web of Data (NLIWOD+QALD 2022); International Workshop on Knowledge Graph Generation from Text (Text2KG 2022); 3rd International Workshop on Deep Learning meets Ontologies and Natural Language Processing (DeepOntoNLP 2022); 1st Workshop on Modular Knowledge (ModularK 2022); Third International Workshop On Knowledge Graph Construction (KGCW 2022); Third International Workshop On Semantic Digital Twins (SeDIT 2022); and the 1st International Workshop on Semantic Industrial Information Modelling (SemIIM 2022). Table of Contents Summary of Workshops and Tutorials at European Semantic Web Conference 2022.- Posters and Demos.- Towards UML-style Visual Queries over Wikidata.- Using the ODRL Profile for Access Control for Solid Pod Resource Governance.- Relation Canonicalization in Open Knowledge Graphs: A Quantitative Analysis.- Harmonizing and Using Numismatic Linked Data in Digital Humanities Research and Application Development: Case DigiNUMA.- Extending AgreementMakerLight to Perform Holistic Ontology Matching.- It’s all in the Name: Entity Typing using Multilingual Language Models.- The Supervised Semantic Similarity Toolkit.- Tab2Onto: Unsupervised Semantification with Knowledge Graph Embeddings.- DataSpecer: A Model-Driven Approach to Managing Data Specifications.- Towards Query Processing over Heterogeneous Federations of RDF Data sources.- SAND: A Tool for Creating Semantic Descriptions of Tabular Sources.- BLAST: Block Applications for Things.- Leibniz Data Manager – A Research Data Management System.- Towards Knowledge Graph-Agnostic SPARQL Query Validation for Improving Question Answering.- Towards Generalized Welding Ontology in line with ISO and Knowledge Graph Construction.- O’FAIRe: Ontology FAIRness Evaluator in the AgroPortal semantic resource repository.- domOS Common Ontology: Web of Things Discovery in Smart Buildings.- WeaKG-MF: a Knowledge Graph of Observational Weather Data.- DAGOBAH UI: A New Hope For Semantic Table Interpretation.- KartoGraphI: Drawing a Map of Linked Data.- WikidataComplete – An easy-to-use method for rapid validation of text-extracted new facts applied to the Wikidata knowledge graph.- Query-based Industrial Analytics over Knowledge Graphs with Ontology Reshaping.- Semantic Video Entity Linking.- Walk this Way! Entity Walks and Property Walks for RDF2vec.- Self-Verifying Web Resource Representations using Solid, RDF-star and Signed URIs.- From OWL to Graphol: importing ontologies into Eddy the editor.- Audio Ontologies for Intangible Cultural Heritage.- Ontology Matching Through Absolute Orientation of Embedding Spaces.- Semantic modeling and reconstruction of drones’ Trajectories.- How to Search and Contextualize Scenes inside Videos for Enriched Watching Experience: Case Stories of the Second World War Veterans.- PhD Symposium.- (Semi-) Automatic construction of knowledge graph Metadata.- Towards a Similarity Algorithm for Controlled Vocabularies within the Digital Humanities.- Causal Domain Adaptation for Information Extraction from Complex Conversations.- Knowledge Graph Population with Out-of-KG Entities.- Dynamic Knowledge Graph Embeddings via Local Embedding Reconstructions.- Leveraging Standards in Model-Centric Geospatial Knowledge Graph Creation.- Building Narrative Structures from Knowledge Graphs.- Using Referential Language Games for Task-oriented Ontology Alignment.- Balancing RDF generation from heterogeneous data sources.- Geological Information Capture with Sketches and Ontologies.- Industry.- The Data Value Quest: A Holistic Semantic Approach at Bosch.- Extracting Subontologies from SNOMED CT.- “Semantify” business and content to meet demands for expert solutions in professional markets.- Enhancing Knowledge Graph Generation with Ontology Reshaping – Bosch Case.- Semantic Data Integration for Monitoring Operators’ Ergonomics in an Automotive Manufacturing Setting.- Semantic Description of Equipment and its Controls in Building Automation Systems.
£999.99
Springer International Publishing AG Machine Learning Algorithms: Adversarial
Book SynopsisThis book demonstrates the optimal adversarial attacks against several important signal processing algorithms. Through presenting the optimal attacks in wireless sensor networks, array signal processing, principal component analysis, etc, the authors reveal the robustness of the signal processing algorithms against adversarial attacks. Since data quality is crucial in signal processing, the adversary that can poison the data will be a significant threat to signal processing. Therefore, it is necessary and urgent to investigate the behavior of machine learning algorithms in signal processing under adversarial attacks. The authors in this book mainly examine the adversarial robustness of three commonly used machine learning algorithms in signal processing respectively: linear regression, LASSO-based feature selection, and principal component analysis (PCA). As to linear regression, the authors derive the optimal poisoning data sample and the optimal feature modifications, and also demonstrate the effectiveness of the attack against a wireless distributed learning system. The authors further extend the linear regression to LASSO-based feature selection and study the best strategy to mislead the learning system to select the wrong features. The authors find the optimal attack strategy by solving a bi-level optimization problem and also illustrate how this attack influences array signal processing and weather data analysis. In the end, the authors consider the adversarial robustness of the subspace learning problem. The authors examine the optimal modification strategy under the energy constraints to delude the PCA-based subspace learning algorithm. This book targets researchers working in machine learning, electronic information, and information theory as well as advanced-level students studying these subjects. R&D engineers who are working in machine learning, adversarial machine learning, robust machine learning, and technical consultants working on the security and robustness of machine learning are likely to purchase this book as a reference guide.Table of ContentsChapter. 1. IntroductionChapter. 2. Optimal Feature Manipulation Attacks Against Linear RegressionChapter. 3. On the Adversarial Robustness of LASSO Based Feature SelectionChapter. 4. On the Adversarial Robustness of Subspace LearningChapter. 5. Summary and ExtensionsChapter. 6. Appendix
£87.99
Springer International Publishing AG Algorithms for Big Data: DFG Priority Program 1736
Book SynopsisThis open access book surveys the progress in addressing selected challenges related to the growth of big data in combination with increasingly complicated hardware. It emerged from a research program established by the German Research Foundation (DFG) as priority program SPP 1736 on Algorithmics for Big Data where researchers from theoretical computer science worked together with application experts in order to tackle problems in domains such as networking, genomics research, and information retrieval. Such domains are unthinkable without substantial hardware and software support, and these systems acquire, process, exchange, and store data at an exponential rate. The chapters of this volume summarize the results of projects realized within the program and survey-related work.This is an open access book.Table of ContentsAlgorithms for Large and Complex Networks Algorithms for Large-scale Network Analysis and the NetworKit Toolkit.- Generating Synthetic Graph Data from Random Network Models.- Sampling Efficiency for the Link Assessment Problem.- A Custom Hardware Architecture for the Link Assessment Problem.- Graph-based Methods for Rational Drug Design.- Recent Advances in Practical Data Reduction.- Skeleton-based Clustering by Quasi-Threshold Editing.- The Space Complexity of Undirected Graph Exploration.- Algorithms for Big Data and their Applications Scalable Cryptography.- Distributed Data Streams.- Energy-Efficient Scheduling.- The GENO Software Stack.- Laue Algorithms for Big Data Problems in de Novo Genome Assembly.- Scalable Text Index Construction. Big Data, Scalability, Algorithms, Applications, Graphs, Networks, Parallelism, Distributed, Memory Hierarchy, Algorithm Engineering, Network Analysis, Random Graphs, Graph Clustering, Data Streams, Cryptography, Energy Efficiency, Text Indices.
£999.99
Springer International Publishing AG Measuring Ontologies for Value Enhancement: Aligning Computing Productivity with Human Creativity for Societal Adaptation: First International Workshop, MOVE 2020, Virtual Event, October 17–18, 2020, Revised Selected Papers
Book SynopsisThis book constitures selected and revised papers presented at the First International Workshop on Measuring Ontologies for Value Enhancement, MOVE 2020, held as Virtual Event in October 2020. The 7 extended and revised papers presented were thoroughly reviewed and selected from the 13 submissions. Along with them, the volume presents 5 invited papers. The volume articles are arranged in the topical sections on complexity of knowledge-intensive endeavors; ontology modeling; enterprise ontologies; knowledge discovery and innovations. Table of ContentsComplexity of Knowledge-Intensive Endeavors.- Ontology Modeling.- Enterprise Ontologies.- Knowledge Discovery and Innovations.
£999.99
Springer International Publishing AG Arithmetic of Finite Fields: 9th International Workshop, WAIFI 2022, Chengdu, China, August 29 – September 2, 2022, Revised Selected Papers
Book SynopsisThis book constitutes the thoroughly refereed post-workshop proceedings of the 8th International Workshop on the Arithmetic of Finite Field, WAIFI 2022, held in Chengdu, China, in August – September 2022.The 19 revised full papers and 3 invited talks presented were carefully reviewed and selected from 25 submissions. The papers are organized in topical sections: structures in finite fields; efficient finite field arithmetic; coding theory; cryptography; sequences.Table of ContentsStructures in Finite Fields.- On a conjecture on irreducible polynomials over finite fields with restricted coefficients.- On two applications of polynomials xk – cx – d over finite fields and more.- Efficient Finite Field Arithmetic.- Polynomial Constructions of Chudnovsky-Type Algorithms for Multiplication in Finite Fields with Linear Bilinear Complexity.- Reduction-free Multiplication for Finite Fields and Polynomial Rings.- Finite Field Arithmetic in Large Characteristic for Classical and Post-Quantum Cryptography.- Fast enumeration of superspecial hyperelliptic curves of genus 4 with automorphism group V4.- Coding theory.- Two Classes of Constacyclic Codes with Variable Parameters.- Near MDS Codes with Dimension 4 and Their Application in Locally Recoverable Codes.- Optimal possibly nonlinear 3-PIR codes of small size.- PIR codes from combinatorial structures.- The Projective General Linear Group PGL(2, 5m) and Linear Codes of Length 5m + 1.- Private Information Retrieval Schemes Using Cyclic Codes.- Two Classes of Optimal Few-Weight Codes over Fq + uFq.- Explicit Non-Malleable Codes from Bipartite Graphs.- Cryptography.- Algebraic Relation of Three MinRank Algebraic Modelings.- Decomposition of Dillon's APN permutation with efficient hardware implementation.- New Versions of Miller-loop Secured against Side-Channel Attacks.- A Class of Power Mappings with Low Boomerang Uniformity.- New Classes of Bent Functions via the Switching Method.- Sequences.- Correlation measure of binary sequence families with trace representation.- Linear complexity of generalized cyclotomic sequences with period pnqm.- On the 2-adic complexity of cyclotomic binary sequences with period p2 and 2p2.
£56.99
Springer International Publishing AG Modelling and Development of Intelligent Systems: 8th International Conference, MDIS 2022, Sibiu, Romania, October 28–30, 2022, Revised Selected Papers
Book SynopsisThis book constitutes the refereed proceedings of the 8th International Conference on Modelling and Development of Intelligent Systems, MDIS 2022, held in Sibiu, Romania, during October 28–30, 2022.The 21 papers included in this book were carefully reviewed and selected from 48 submissions. They were organized in the following topical sections as follows: intelligent systems for decision support; machine learning; mathematical models for development of intelligent systems; and modelling and optimization of dynamic systems.Table of ContentsIntelligent Systems for Decision Support.- Effective LSTM Neural Network with Adam Optimizer for Improving Frost Prediction in Agriculture Data Stream.- Gaze Tracking: A Survey of Devices, Libraries and Applications.- Group Decision-Making Involving Competence of Experts in Relation to Evaluation Criteria: Case Study for e-Commerce Platform Selection.- Transparency and Traceability for AI-based Defect Detection in PCB Production.- Tasks Management Using Modern Devices.- Machine Learning.- A Method for Target Localization by Multistatic Radars.- Intrusion Detection by XGBoost Model Tuned by Improved Social Network Search Algorithm.- Bridging the Resource Gap in Cross-lingual Embedding Space.- Classification of Microstructure Images of Metals using Transfer Learning.- Generating Jigsaw Puzzles and an AI Powered Solver.- Morphology of Convolutional Neural Network with Diagonalized Pooling.- Challenges and Opportunities in Deep Learning Driven Fashion Design and Textiles Patterns Development.- Feature Selection and Extreme Learning Machine Tuning by Hybrid Sand Cat Optimization Algorithm for Diabetes Classification.- Enriching SQL-Driven Data Exploration With Different Machine Learning Models.- Mathematical Models for Development of Intelligent Systems.- Analytical Solution of the Simplest Entropiece Inversion Problem.- Latent Semantic Structure in Malicious Programs.- Innovative Lattice Sequences Based on Component by Component Construction Method for Multidimensional Sensitivity Analysis.- On an Optimization of the Lattice Sequence for the Multidimensional Integrals Connected with Bayesian Statistics.- Modelling and Optimization of Dynamic Systems.- Numerical Optimization Identification of a Keller-Segel Model for Thermoregulation in Honey Bee Colonies in Winter.- Gradient Optimization in Reconstruction of the Diffusion Coefficient in a Time Fractional Integro-Differential Equation of Pollution in Porous Media.- Flash Flood Simulation Between Slănic and Vărbilău Rivers in Vărbilău Village, Prahova County, Romania, Using Hydraulic Modeling and GIS Techniques.
£58.49
Springer International Publishing AG Tools and Algorithms for the Construction and
Book SynopsisThis open access book constitutes the proceedings of the 29th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2023, which was held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2023, during April 22-27, 2023, in Paris, France. The 56 full papers and 6 short tool demonstration papers presented in this volume were carefully reviewed and selected from 169 submissions. The proceedings also contain 1 invited talk in full paper length, 13 tool papers of the affiliated competition SV-Comp and 1 paper consisting of the competition report. TACAS is a forum for researchers, developers, and users interested in rigorously based tools and algorithms for the construction and analysis of systems. The conference aims to bridge the gaps between different communities with this common interest and to support them in their quest to improve the utility, reliability, flexibility, and efficiency of tools and algorithms for building computer-controlled systems.Table of ContentsTool Demos.- EVA: a Tool for the Compositional Verification of AUTOSAR Models.- WASIM: A Word-level Abstract Symbolic Simulation Framework for Hardware Formal Verification.- Multiparty Session Typing in Java, Deductively.- PyLTA: A Verification Tool for Parameterized Distributed Algorithms.- FuzzBtor2: A Random Generator of Word-Level Model Checking Problems in Btor2 Format.- Eclipse ESCET™: The Eclipse Supervisory Control Engineering Toolkit.- Combinatorial Optimization/Theorem Proving.- New Core-Guided and Hitting Set Algorithms for Multi-Objective Combinatorial Optimization.- Verified reductions for optimization.- Specifying and Verifying Higher-order Rust Iterators.- Extending a High-Performance Prover to Higher-Order Logic.- Tools (Regular Papers).- The WhyRel Prototype for Relational Verification of Pointer Programs.- Bridging Hardware and Software Analysis with Btor2C: A Word-Level-Circuit-to-C Converter.- CoPTIC: Constraint Programming Translated Into C.- Acacia-Bonsai: A Modern Implementation of Downset-Based LTL Realizability.- Synthesis.- Computing Adequately Permissive Assumptions for Synthesis.- Verification-guided Programmatic Controller Synthesis.- Taming Large Bounds in Synthesis from Bounded-Liveness Specifications.- Lockstep Composition for Unbalanced Loops.- Synthesis of Distributed Agreement-Based Systems with Effciently Decidable Verification.- LTL Reactive Synthesis with a Few Hints.- Timed Automata Verification and Synthesis via Finite Automata Learning.- Graphs/Probabilistic Systems.- A Truly Symbolic Linear-Time Algorithm for SCC Decomposition.- Transforming quantified Boolean formulas using biclique covers.- Certificates for Probabilistic Pushdown Automata via Optimistic Value Iteration.- Probabilistic Program Verification via Inductive Synthesis of Inductive Invariants.- Runtime Monitoring/Program Analysis.- Industrial-Strength Controlled Concurrency Testing for C# Programs with Coyote.- Context-Sensitive Meta-Constraint Systems for Explainable Program Analysis.- Explainable Online Monitoring of Metric Temporal Logic.- 12th Competition on Software Verification — SV-COMP 2023.- Competition on Software Verification and Witness Validation: SV-COMP 2023.- Symbiotic-Witch 2: More Efficient Algorithm and Witness Refutation (Competition Contribution).- 2LS: Arrays and Loop Unwinding (Competition Contribution).- Bubaak: Runtime Monitoring of Program Verifiers (Competition Contribution).- EBF 4.2: Black-Box Cooperative Verification for Concurrent Programs (Competition Contribution).- Goblint: Autotuning Thread-Modular Abstract Interpretation (Competition Contribution).- Java Ranger: Supporting String and Array Operations (Competition Contribution).- Korn–Software Verification with Horn Clauses (Competition Contribution).- Mopsa-C: Modular Domains and Relational Abstract Interpretation for C Programs (Competition Contribution).- PIChecker: A POR and Interpolation based Verifier for Concurrent Programs (Competition Contribution).- Ultimate Automizer and the CommuHash Normal Form (Competition Contribution).- Ultimate Taipan and Race Detection in Ultimate (Competition Contribution).- VeriAbsL: Scalable Verification by Abstraction and Strategy Prediction (Competition Contribution).- VeriFuzz 1.4: Checking for (Non-)termination (Competition Contribution).
£31.49
Springer International Publishing AG A Guide to Graph Colouring: Algorithms and
Book SynopsisThis book treats graph colouring as an algorithmic problem, with a strong emphasis on practical applications. The author describes and analyses some of the best-known algorithms for colouring arbitrary graphs, focusing on whether these heuristics can provide optimal solutions in some cases; how they perform on graphs where the chromatic number is unknown; and whether they can produce better solutions than other algorithms for certain types of graphs, and why. The introductory chapters explain graph colouring, and bounds and constructive algorithms. The author then shows how advanced, modern techniques can be applied to classic real-world operational research problems such as seating plans, sports scheduling, and university timetabling. He includes many examples, suggestions for further reading, and historical notes, and the book is supplemented by a website with an online suite of downloadable code. The book will be of value to researchers, graduate students, and practitioners in the areas of operations research, theoretical computer science, optimization, and computational intelligence. The reader should have elementary knowledge of sets, matrices, and enumerative combinatorics.Trade Review“The book gives a comprehensive description and handling on arguably one of the most important notions of combinatorics—graph coloring. … The book is nicely written, and carries a big pile of information valuable for both users and researchers in the field.” (András Sándor Pluhár, Mathematical Reviews, February, 2017)“This well-written book will serve as a utilitarian guide to graph coloring and its practical applications. It includes many definitions, theorems, proofs, algorithms, and pointers for further reading. The book will be helpful for teaching courses on graph coloring to students of mathematics and computer science. I strongly recommend it for the intended audience.” (S. V. Nagaraj, Computing Reviews, computingreviews.com, June, 2016)“The book is a comprehensive guide to graph colouring algorithms. … The book is a nice textbook for both undergraduate and graduate students in the areas of operations research and theoretical computer science. … Finally, it is a good source of knowledge for practitioners.” (Marcin Anholcer, zbMATH 1330.05002, 2016)Table of ContentsIntroduction to Graph Colouring.- Bounds and Constructive Algorithms.- Advanced Techniques for Graph Colouring.- Algorithm Case Studies.- Applications and Extensions.- Designing Seating Plans.- Designing Sports Leagues.- Designing University Timetables.- App. A, Computing Resources.- References.- Index.
£71.99
Springer International Publishing AG Simulation Algorithms for Computational Systems
Book SynopsisThis book explains the state-of-the-art algorithms used to simulate biological dynamics. Each technique is theoretically introduced and applied to a set of modeling cases. Starting from basic simulation algorithms, the book also introduces more advanced techniques that support delays, diffusion in space, or that are based on hybrid simulation strategies.This is a valuable self-contained resource for graduate students and practitioners in computer science, biology and bioinformatics. An appendix covers the mathematical background, and the authors include further reading sections in each chapter.Trade Review“I will not hesitate to recommend … this book, both as an introductory explanation as well as later on when they are deep in a modeling exercise and need to understand the many subtle yet important variations of stochastic simulation techniques applicable to biological systems.” (Sara Kalvala, Computing Reviews, March, 2018)Table of ContentsIntroduction.- Deterministic Simulation Algorithms.- Stochastic Simulation Algorithms.- Hybrid Simulation Algorithms.- Reaction-Diffusion Systems.- Conclusions and Perspectives.
£999.99
Springer-Verlag Berlin and Heidelberg GmbH & Co. KG Monte Carlo and Quasi-Monte Carlo Methods 2010
a huge range and FREE tracked UK delivery on ALL orders.
£116.99
Springer Verlag, Singapore A Statistical Mechanical Interpretation of Algorithmic Information Theory
Book SynopsisThis book is the first one that provides a solid bridge between algorithmic information theory and statistical mechanics. Algorithmic information theory (AIT) is a theory of program size and recently is also known as algorithmic randomness. AIT provides a framework for characterizing the notion of randomness for an individual object and for studying it closely and comprehensively. In this book, a statistical mechanical interpretation of AIT is introduced while explaining the basic notions and results of AIT to the reader who has an acquaintance with an elementary theory of computation.A simplification of the setting of AIT is the noiseless source coding in information theory. First, in the book, a statistical mechanical interpretation of the noiseless source coding scheme is introduced. It can be seen that the notions in statistical mechanics such as entropy, temperature, and thermal equilibrium are translated into the context of noiseless source coding in a natural manner. Then, the framework of AIT is introduced. On this basis, the introduction of a statistical mechanical interpretation of AIT is begun. Namely, the notion of thermodynamic quantities, such as free energy, energy, and entropy, is introduced into AIT. In the interpretation, the temperature is shown to be equal to the partial randomness of the values of all these thermodynamic quantities, where the notion of partial randomness is a stronger representation of the compression rate measured by means of program-size complexity. Additionally, it is demonstrated that this situation holds for the temperature itself as a thermodynamic quantity. That is, for each of all the thermodynamic quantities above, the computability of its value at temperature T gives a sufficient condition for T to be a fixed point on partial randomness.In this groundbreaking book, the current status of the interpretation from both mathematical and physical points of view is reported. For example, a total statistical mechanical interpretation of AIT that actualizes a perfect correspondence to normal statistical mechanics can be developed by identifying a microcanonical ensemble in the framework of AIT. As a result, the statistical mechanical meaning of the thermodynamic quantities of AIT is clarified. In the book, the close relationship of the interpretation to Landauer's principle is pointed out.Table of ContentsStatistical Mechanical Interpretation of Noiseless Source Coding.- Algorithmic Information Theory.- Partial Randomness.- Temperature Equals to Partial Randomness.- Fixed Point Theorems on Partial Randomness.- Statistical Mechanical Meaning of the Thermodynamic Quantities of AIT.- The Partial Randomness of Recursively Enumerable Reals.- Computation-Theoretic Clarification of the Phase Transition at Temperature T=1.- Other Related Results and Future Development.
£49.49
Springer Verlag, Singapore QoS Routing Algorithms for Wireless Sensor Networks
Book SynopsisThis book provides a systematic introduction to the fundamental concepts, major challenges, and effective solutions for Quality of Service in Wireless Sensor Networks (WSNs). Unlike other books on the topic, it focuses on the networking aspects of WSNs, discussing the most important networking issues, including network architecture design, medium access control, routing and data dissemination, node clustering, node localization, query processing, data aggregation, transport and quality of service, time synchronization, and network security. Featuring contributions from researchers, this book strikes a balance between fundamental concepts and new technologies, providing readers with unprecedented insights into WSNs from a networking perspective. It is essential reading for a broad audience, including academics, research engineers, and practitioners, particularly postgraduate/postdoctoral researchers and engineers in industry. It is also suitable as a textbook or supplementary reading for graduate computer engineering and computer science courses.Table of Contents1 An Introduction to QoS in Wireless Sensor Networks 1.0.1 Wireless Sensor Network Architecture 1.0.2 Network Layer Issues and Challenges 1.0.3 Limitations of Wireless Sensor Networks 1.0.4 Challenges of Wireless Sensor Networks1.0.5 Medium Access Control Layer Issues and Challenges 1.0.6 Issues of Medium Access Control MAC Layer 1.0.7 MAC Scheme Design Challenges 1.1 MAC Scheme in Wireless Sensor Networks 1.1.1 Contention-freeMAC Protocols 1.1.2 Contention MAC Protocols 1.1.3 Hybrid MAC Protocols 1.2 Motivation 1.2.1 Network Layer1.2.2 Medium Access Control Layer 1.2.3 Design and Evaluation Metrics in the Network Layer 1.2.4 Design and Evaluation Metrics in the Medium Access Layer1.3 Applications of Wireless Sensor Networks 1.4 Quality of Service in Wireless Sensor Networks 1.4.1 Introduction 1.4.2 Quality of Service Architecture 1.4.3 Network and MAC Layer QoS Challenges 1.4.4 Network and MAC Layer QoS Requirements 1.5 Software Tools 1.6 Organization of the Book References 2 LRTHR: Link-Reliability Based Two-Hop Routing forWSNs 2.1 Introduction 2.2 Related Works 2.3 System Model and Problem Definition 2.4 Algorithm 2.4.1 Link Reliability Estimation 2.4.2 Link Delay Estimation 2.4.3 Node Forwarding Metric 2.4.4 LRTHR: An Example 2.5 Performance Evaluation 2.6 Summary References 3 FTQAC: Fault Tolerant QoS Adaptive Clustering forWSNs 3.1 Introduction 3.2 Related Works 3.3 System Model and Problem Definition 3.4 Cluster Setup and Primary Cluster Head Selection 3.5 Secondary Cluster Head Selection3.6 QoS Route Establishment 3.7 Simulation Setup 3.8 Summary References 4 RTTDR: Real-Time Traffic-Differentiated Routing forWSNs 4.1 Introduction 4.2 Related Works 4.3 System Model and Problem Definition 4.4 Algorithm 4.4.1 Link Reliability Estimation 4.4.2 Queueing and Transmission Delay Estimation 4.4.3 Node Forwarding Metric 4.4.4 Queuing Controller 4.5 Implementation and Performance Evaluation4.6 Summary References 5 RARR: Reliable Adaptive Replication Routing Scheme forWSNs5.1 Introduction 5.2 Related Works 5.3 System Model and Problem Definition 5.4 Algorithm 5.4.1 Link Capacity Estimator 5.4.2 Packet Disseminator 5.4.3 Packet Replicator 5.5 Simulation and Performance Evaluation 5.6 Summary References 6 ETXTD: ETX and RTT Delay based Fault Detection Algorithm forWSNs 6.1 Introduction6.2 Related Works 6.3 System Model and Problem Definition 6.4 Algorithm 6.4.1 Estimation of Expected Transmission Count (ETX) Metric6.4.2 Estimation of Round Trip Time (RTT) and Round TripPath (RTP) 6.4.3 Detection of Faulty Sensor Node 6.4.4 Performance Evaluation 6.5 Summary References 7 DQTSM: Distributed Qos in Time Synchronized MAC Protocol forWSNs 7.1 Introduction 7.2 Related Works 7.3 System Model and Problem Definition 7.4 Mathematical Model 7.4.1 Energy Consumption 7.4.2 DQTSM Algorithm7.5 Performance Evaluation 7.6 Summary References8 ERRAP: Efficient Retransmission Qos-Aware MAC Scheme for WSNs 8.1 Introduction 8.2 Related Works 8.3 System Model and Problem Definition 8.4 Mathematical Model 8.4.1 One-Hop Retransmissions 8.4.2 Two-QoS Groups 8.4.3 ERRAP Algorithm 8.5 Performance Evaluation 8.5.1 Simulation Setup 8.5.2 One-Hop QoS Group 8.5.3 Two QoS Groups 8.5.4 Minimizing Energy Consumption 8.6 SummaryReferences 9 CBH-MAC: Contention Based Hybrid MAC Protocol forWSNs 9.1 Introduction 9.2 Related Works 9.3 System Model and Problem Definition9.4 Mathematical Model 9.5 Performance Evaluation 9.5.1 Simulation Setup 9.5.2 Multi-hop Chain Topology 9.5.3 Multi-hop Cross Topology9.5.4 End-to-End Latency 9.5.5 Packet Delivery Ratio (PDR) Performance 9.5.6 Energy Consumption 9.6 Summary References 10 DMS-MAC: Qos Distributed Multi-Channel Scheduling MACProtocol forWSNs 10.1 Introduction 10.2 Related Works 10.3 System Model and Problem Definition 10.4 Mathematical Model 10.4.1 DMS-MAC Algorithm10.5 Performance Evaluation 10.5.1 Simulation Setup 10.6 Summary References 11 QMSR: Qos Multihop Sensor Routing Cross Layer Design forWSns 11.1 Introduction 11.2 Related Works 11.3 System Model and Problem Definition 11.4 QMSR Algorithm 11.5 Performance Evaluation 11.6 Summary References 12 EPC: Efficient Gateway Selection for Passive Clustering in MWSNs 12.1 Introduction 12.2 Related Works12.3 Network Model 12.3.1 Definitions 12.3.2 Mobile Wireless Sensor Network as a Graph 12.4 Problem Definition12.4.1 Topological Problems associated with Passive Clustering12.5 Algorithm EPC (Efficient Passive Clustering) 12.5.1 Intelligent Gateway Selection Heuristic 12.5.2 Timeout Mechanism12.6 Performance Analysis 12.7 Summary References 13 REAR: Topology Controlled Energy Management in WSNs 13.1 Introduction 13.2 Related Works 13.3 Network Model 13.3.1 Architecture 13.3.2 Wireless Sensor Model 13.4 Problem Definition 13.4.1 Basic Energy Routing (BER) in Wireless Sensor Networks 13.5 ILP and MILP Models for Maximizing the lifetime of Wireless Sensor Networks 13.5.1 Algorithm: Residual Energy Adaptive Routing(REAR) 13.5.2 An Example 13.6 Performance Evaluations 13.7 Summary References 14 GwIP: Life Time Maximization ofWSNs 14.1 Introduction 14.2 Related Works 14.3 Wireless Sensor Model 14.4 Problem Definition 14.5 Existing Algorithms 14.5.1 Broadcast Incremental Power (BIP) 14.5.2 Weighted Broadcast Incremental Protocol (WBIP) 14.6 Proposed Algorithms 14.6.1 Total Energy Weighted Incremental Model (Recharge Model)14.6.2 Global Weighted Incremental Power (GWIP) 14.6.3 Global Weight Incremental Post Sweep (GWIPS) 14.7 Performance Evaluations14.8 Summary References 15 MSNL: Energy Efficient Broadcasting in WSNs 15.1 Introduction 15.2 Related Works 15.3 Wireless Sensor Model 15.4 Problem definition 15.5 Static Network Lifetime15.5.1 Maximizing Static Network Lifetime15.6 Performance Evaluations 15.7 Summary References 16 AANTCHAIN: Adaptive ANTChain for Increasing Lifespan in WSNs16.1 Introduction 16.2 Related Works 16.3 System Model and Problem Definition 16.4 Algorithm: Adaptive AntChain 16.5 Performance Analysis 16.6 Summary References 17 SAAQ: Secure Aggregation for Approximate Queries in WSNs 17.1 Introduction 17.2 Related Works 17.2.1 Routing and Data Aggregation 17.2.2 Secure Data Aggregation 17.2.3 Introduction to Synopsis Diffusion Framework 17.2.4 Secured Data Aggregation 17.3 Problem Definition and Models 17.3.1 Network Model 17.3.2 Attack Model 17.3.3 Security Model 17.4 The SAAQ Algorithm 17.4.1 Query Dissemination 17.4.2 Synopsis Generation and Aggregation 17.5 Results and Analysis 17.5.1 Energy Consumption per Data Collection Round 17.5.2 Impact of Inflation Attack on Final Aggregate Computed 17.5.3 Impact of Deflation Attack 17.5.4 Impact of Compromised Nodes on Number of Bytes Sent per Node 17.6 Summary References 18 SDAMQ: Secure Data Aggregation for Multiple Queries in WSNs 18.1 Introduction 18.2 Related Works 18.2.1 Data Aggregation for Multiple Coexisting Queries 18.2.2 Concealed Data Aggregation18.3 Preliminaries 18.3.1 SafeQ 18.3.2 CDAMA: Concealed Data Aggregation Scheme for Multiple Applications in Wireless Sensor Networks 18.4 Problem Definition and Models 18.4.1 Network Model 18.4.2 Query Model 18.4.3 Attack Model 18.5 The SDAMQ Algorithm 18.5.1 Query Dissemination 18.5.2 Data Generation and Aggregation 18.5.3 Decryption 18.6 Results and Analysis 18.6.1 Impact of Network Size on Overall Energy Consumption 18.6.2 Impact of Attack on Packet Delivery Ratio 18.7 Summary References 19 DAMS: Data Aggregation using Mobile Sink in Wireless Sensor Networks 19.1 Introduction 19.2 Related Works 19.2.1 Logical Coordinate Space Construction 19.2.2 Destination Identification 19.2.3 Greedy Forwarding 19.3 Problem Definition and Models 19.3.1 Network Model 19.3.2 Communication Model 19.3.3 Sink Mobility Model 19.4 The Data Aggregation using Mobile Sink (DAMS) Algorithm 19.4.1 Query Dissemination from the Mobile Sink 19.4.2 Query Propagation and Route Establishment 19.4.3 Data Aggregation and Forwarding19.5 Results and Analysis19.5.1 Impact of Network Size on Average Energy Consumption 19.5.2 Impact of Network Size on Average Packet Delivery Ratio19.5.3 Impact of Network Size on Average Path Length 19.5.4 Impact of Network Size on Delay 19.6 Summary References
£80.99
Springer Verlag, Singapore Graph Neural Networks: Foundations, Frontiers, and Applications
Book SynopsisDeep Learning models are at the core of artificial intelligence research today. It is well known that deep learning techniques are disruptive for Euclidean data, such as images or sequence data, and not immediately applicable to graph-structured data such as text. This gap has driven a wave of research for deep learning on graphs, including graph representation learning, graph generation, and graph classification. The new neural network architectures on graph-structured data (graph neural networks, GNNs in short) have performed remarkably on these tasks, demonstrated by applications in social networks, bioinformatics, and medical informatics. Despite these successes, GNNs still face many challenges ranging from the foundational methodologies to the theoretical understandings of the power of the graph representation learning.This book provides a comprehensive introduction of GNNs. It first discusses the goals of graph representation learning and then reviews the history, current developments, and future directions of GNNs. The second part presents and reviews fundamental methods and theories concerning GNNs while the third part describes various frontiers that are built on the GNNs. The book concludes with an overview of recent developments in a number of applications using GNNs. This book is suitable for a wide audience including undergraduate and graduate students, postdoctoral researchers, professors and lecturers, as well as industrial and government practitioners who are new to this area or who already have some basic background but want to learn more about advanced and promising techniques and applications.Table of ContentsChapter 1. Representation Learning.- Chapter 2. Graph Representation Learning.- Chapter 3. Graph Neural Networks.- Chapter 4. Graph Neural Networks for Node Classification.- Chapter 5. The Expressive Power of Graph Neural Networks.- Chapter 6. Graph Neural Networks: Scalability.- Chapter 7. Interpretability in Graph Neural Networks.- Chapter 8. "Graph Neural Networks: Adversarial Robustness".- Chapter 9. Graph Neural Networks: Graph Classification.- Chapter 10. Graph Neural Networks: Link Prediction.- Chapter 11. Graph Neural Networks: Graph Generation.- Chapter 12. Graph Neural Networks: Graph Transformation.- Chapter 13. Graph Neural Networks: Graph Matching.- Chapter 14. "Graph Neural Networks: Graph Structure Learning". Chapter 15. Dynamic Graph Neural Networks.- Chapter 16. Heterogeneous Graph Neural Networks.- Chapter 17. Graph Neural Network: AutoML.- Chapter 18. Graph Neural Networks: Self-supervised Learning.- Chapter 19. Graph Neural Network in Modern Recommender Systems.- Chapter 20. Graph Neural Network in Computer Vision.- Chapter 21. Graph Neural Networks in Natural Language Processing.- Chapter 22. Graph Neural Networks in Program Analysis.- Chapter 23. Graph Neural Networks in Software Mining.- Chapter 24. "GNN-based Biomedical Knowledge Graph Mining in Drug Development".- Chapter 25. "Graph Neural Networks in Predicting Protein Function and Interactions".- Chapter 26. Graph Neural Networks in Anomaly Detection.- Chapter 27. Graph Neural Networks in Urban Intelligence.
£999.99
Springer-Verlag Berlin and Heidelberg GmbH & Co. KG Data Structures in Depth Using C
Book SynopsisUnderstand and implement data structures and bridge the gap between theory and application. This book covers a wide range of data structures, from basic arrays and linked lists to advanced trees and graphs, providing readers with in-depth insights into their implementation and optimization in C++. You'll explore crucial topics to optimize performance and enhance their careers in software development. In today's environment of growing complexity and problem scale, a profound grasp of C++ data structures, including efficient data handling and storage, is more relevant than ever. This book introduces fundamental principles of data structures and design, progressing to essential concepts for high-performance application. Finally, you'll explore the application of data structures in real-world scenarios, including case studies and use in machine learning and big data. This practical, step-by-step approach, featuring numerous code examples, performance analysis and best practices, is written with a wide range of C++ programmers in mind. So, if you're looking to solve complex data structure problems using C++, this book is your complete guide. What You Will LearnWrite robust and efficient C++ code. Apply data structures in real-world scenarios. Transition from basic to advanced data structuresUnderstand best practices and performance analysis. Design a flexible and efficient data structure library. Who This Book is For Software developers and engineers seeking to deepen their knowledge of data structures and enhanced coding efficiency, and ideal for those with a foundational understanding of C++ syntax. Secondary audiences include entry-level programmers seeking deeper dive into data structures, enhancing their skills, and preparing them for more advanced programming tasks. Finally, computer science students or programmers aiming to transition to C++ may find value in this book.
£49.49
Pragmatic Programmers A CommonSense Guide to Data Structures and Algorithms in Python Volume 2
£51.29
Pearson Education (US) Absolute Beginners Guide to Algorithms
Book SynopsisKirupa Chinnathambi has spent most of his life teaching others to love web development as much as he does. He founded KIRUPA, one of the Web's most popular free web development education resources, serving 210,000+ registered members. Now a product manager at Google, he has authored several books, including Learning React (2017). He holds a B.S. in computer science from MIT.Table of ContentsPart I: Data Structures Chapter 1. Introduction to Data Structures .................................................................. 1 Right Tool for the Right Job .................................................................................... 2 Back to Data Structures ........................................................................................... 5 Conclusion ................................................................................................................. 6 Chapter 2. Big-O Notation and Complexity Analysis ................................................... 7 It's Example Time ...................................................................................................... 8 It's Big-O Notation Time! .......................................................................................11 Conclusion ...............................................................................................................15 Chapter 3. Arrays ....................................................................................................... 17 What Is an Array? ....................................................................................................18 Array Implementation / Use Cases .......................................................................24 Arrays and Memory ................................................................................................26 Performance Considerations .................................................................................30 Conclusion ...............................................................................................................32 Chapter 4. Linked Lists ............................................................................................... 35 Meet the Linked List ...............................................................................................36 Linked List: Time and Space Complexity .............................................................40 Linked List Variations ..............................................................................................41 Implementation .......................................................................................................44 Conclusion ...............................................................................................................52 Chapter 5. Stacks ........................................................................................................ 53 Meet the Stack ........................................................................................................54 A JavaScript Implementation ................................................................................56 Stacks: Time and Space Complexity ....................................................................58 Conclusion ...............................................................................................................59 Chapter 6. Queues ..................................................................................................... 61 Meet the Queue .....................................................................................................62 A JavaScript Implementation ................................................................................64 Queues: Time and Space Complexity ..................................................................66 Conclusion ...............................................................................................................67 Chapter 7. Trees ......................................................................................................... 69 Trees 101 .................................................................................................................70 Height and Depth ...................................................................................................75 Conclusion ...............................................................................................................77 Chapter 8. Binary Trees .............................................................................................. 79 Meet the Binary Tree ..............................................................................................80 A Simple Binary Tree Implementation ..................................................................86 Conclusion ...............................................................................................................89 Chapter 9. Binary Search Trees ................................................................................... 91 It's Just a Data Structure ........................................................................................93 Implementing a Binary Search Tree ....................................................................103 Performance and Memory Characteristics .........................................................110 Conclusion .............................................................................................................112 Chapter 10. Heaps ...................................................................................................... 113 Meet the Heap ......................................................................................................114 Heap Implementation ..........................................................................................126 Performance Characteristics ................................................................................132 Conclusion .............................................................................................................134 Chapter 11. Hashtable (aka Hashmap or Dictionary) .................................................. 137 A Very Efficient Robot ..........................................................................................138 From Robots to Hashing Functions ....................................................................142 From Hashing Functions to Hashtables .............................................................145 JavaScript Implementation/Usage ......................................................................148 Dealing with Collisions .........................................................................................150 Performance and Memory ...................................................................................151 Conclusion .............................................................................................................153 Chapter 12. Trie (aka Prefix Tree) ............................................................................... 155 What Is a Trie? ......................................................................................................156 Diving Deeper into Tries ......................................................................................167 Many More Examples Abound! ..........................................................................172 Implementation Time ...........................................................................................173 Performance ..........................................................................................................179 Conclusion .............................................................................................................181 Chapter 13. Graphs .................................................................................................... 183 What Is a Graph? ..................................................................................................184 Graph Implementation .........................................................................................190 Conclusion .............................................................................................................196 Part II: Algorithms Chapter 14. Introduction to Recursion ....................................................................... 199 Our Giant Cookie Problem ..................................................................................200 Recursion in Programming ..................................................................................202 Conclusion .............................................................................................................206 Chapter 15. Fibonacci and Going Beyond Recursion ................................................. 207 Recursively Solving the Fibonacci Sequence ....................................................209 Recursion with Memoization ...............................................................................213 Taking an Iteration-Based Approach ..................................................................215 Going Deeper on the Speed ..............................................................................217 Conclusion .............................................................................................................218 Chapter 16. Towers of Hanoi ...................................................................................... 221 How Towers of Hanoi Is Played ..........................................................................222 The Single Disk Case ...........................................................................................223 It's Two Disk Time .................................................................................................224 Three Disks ............................................................................................................225 The Algorithm .......................................................................................................228 The Code Solution ...............................................................................................229 Check Out the Recursiveness! ............................................................................231 It's Math Time ........................................................................................................232 Conclusion .............................................................................................................234 Chapter 17. Search Algorithms and Linear Search ..................................................... 235 Linear Search .........................................................................................................236 Conclusion .............................................................................................................241 Chapter 18. Faster Searching with Binary Search ....................................................... 243 Binary Search in Action ........................................................................................243 The JavaScript Implementation ..........................................................................250 Runtime Performance ...........................................................................................254 Conclusion .............................................................................................................257 Chapter 19. Binary Tree Traversal ............................................................................... 259 Breadth-First Traversal ..........................................................................................260 Depth-First Traversal ............................................................................................265 Implementing Our Traversal Approaches ..........................................................270 Performance of Our Traversal Approaches ........................................................278 Conclusion .............................................................................................................279 Chapter 20. Depth-First Search (DFS) and Breadth-First Search (BFS) ....................... 281 A Tale of Two Exploration Approaches ..............................................................282 It's Example Time ..................................................................................................285 When to Use DFS? When to Use BFS? ..............................................................298 A JavaScript Implementation ..............................................................................300 Performance Details .............................................................................................307 Conclusion .............................................................................................................308 Chapter 21. Quicksort ................................................................................................ 309 A Look at How Quicksort Works .........................................................................310 Another Simple Look ...........................................................................................314 It's Implementation Time .....................................................................................319 Performance Characteristics ................................................................................322 Conclusion .............................................................................................................323 Chapter 22. Bubblesort .............................................................................................. 325 How Bubblesort Works ........................................................................................326 Walkthrough ..........................................................................................................329 The Code ...............................................................................................................333 Conclusion .............................................................................................................333 Chapter 23. Insertion Sort .......................................................................................... 335 How Insertion Sort Works ....................................................................................336 One More Example ..............................................................................................347 Algorithm Overview and Implementation .........................................................349 Performance Analysis ...........................................................................................351 Conclusion .............................................................................................................353 Chapter 24. Selection Sort ......................................................................................... 355 Selection Sort Walkthrough .................................................................................356 Algorithm Deep Dive ...........................................................................................364 The JavaScript Implementation ..........................................................................366 Conclusion .............................................................................................................369 Chapter 25. Mergesort ............................................................................................... 371 How Mergesort Works .........................................................................................372 Mergesort: The Algorithm Details ......................................................................379 Looking at the Code ............................................................................................380 Conclusion .............................................................................................................381 Conclusion .................................................................................................................383 Index ............................................................................................................................ 387
£26.99
Manning Publications Statistics Playbook
Learn statistics by analysing professional basketball data! Statistics Slam Dunk is an action-packed book that will help you build your skills in exploratory data analysis by digging into the fascinating world of NBA games and player stats using the R language. This textbook will upgrade your R data science skills by taking on practical analysis challenges based on NBA game and player data. You will take on the challenge of wrangling messy data to drill on the skills that will make you the star player on any data team. And just like in the real world, you will get no clean pre-packaged datasets in this book. You will develop a toolbox of R data skills including: Reading and writing data Installing and loading packages Transforming, tidying, and wrangling data Applying best-in-class exploratory data analysis techniques Creating compelling visualizations Developing supervised and unsupervised machine learning algorithms Execute hypothesis tests, including t-tests and chi-square tests for independence Compute expected values, Gini coefficients, and z-scores Is losing games on purpose a rational strategy? Which hustle statistics have an impact on wins and losses? Each chapter in this one-of-a-kind guide uses new data science techniques to reveal interesting insights like these. About the technology Amazing insights are hiding in raw data, and statistical analysis with R can help reveal them! R was built for data, and it supports modelling and statistical techniques including regression and classification models, time series forecasts, and clustering algorithms. And when you want to see your results, R's visualisations are stunning, with best-in-class plots and charts.
£45.04
Harvard University Press A History of Data Visualization and Graphic
Book SynopsisStatistical graphing was born in the seventeenth century as a scientific tool, but it quickly escaped all disciplinary bounds. Today graphics are ubiquitous in daily life. Michael Friendly and Howard Wainer detail the history of data visualization and argue that it has not only helped us solve problems, but it has also changed the way we think.Trade ReviewThe invention of graphs and charts was a much quieter affair than that of the telescope, but these tools have done just as much to change how and what we see. -- Hannah Fry * New Yorker *An indispensable account of how important practitioners of data visualizations write the history of their field. -- Crystal Lee * Information & Culture *We live in an era of data dependence—never before have graphic representations of data been as essential and sought after as at this moment…There has not been a publication of this scope on the evolution of graphic representation of qualitative and quantitative data since Funkhouser’s work…Scholars, practitioners, lovers of statistics and data visualization, and anyone interested in understanding the methods and techniques of today will benefit from understanding the innovations that brought us to where we are. -- María del Mar Navarro * Journal of Design, Economics, and Innovation *A thoughtful and well-written introduction to the world of data visualization and its history. -- Bill Satzer * MAA Reviews *An intellectually fascinating book…The audience for this book is wide. It would be useful to professionals and to professors in many departments such as psychology, sociology, economics, biology, physics, and any department that uses graphs to display quantitative information. It is a book to broaden your knowledge and offer interesting asides for lectures and meetings…Consult it frequently to learn of the stories of the developers of the many graphic methods we use today. -- Malcolm James Ree * Personnel Psychology *A marvel of research scholarship…This is the sort of book that one can browse and sample in bite-size chunks as the mood seizes, encountering curious delights while doing so. -- Bert Gunter * Significance *A masterly study of graphic innovations, their context, and their scientific use. This brilliant book, without equivalent, is an indispensable read. -- Gilles Palsky, coauthor of An Atlas of Geographical WondersFriendly and Wainer are the Watson and Crick of statistical graphics, showing us the history of the DNA structure that is the code of life for innovative visualizations. -- Ben Shneiderman, founder of the Human-Computer Interaction Lab, University of MarylandData expertise is a fundamental prerequisite for success in our digital age. But exactly how, and when, have we learned to draw conclusions from data? For decades, Michael Friendly and Howard Wainer have been studying how data has informed decision-making, through visualization and statistical analysis. Replete with mesmerizing visual examples, this book is an eye-opening distillation of their research. -- Sandra Rendgen, author of History of Information GraphicsMichael Friendly and Howard Wainer have given us a wonderful history of the dazzling field of data visualization. They bring new life to ancient death statistics and describe the artistic poetry used to display numbers. An intriguing story of how we have learned to communicate data of all types. -- Stephen M. Stigler, author of The Seven Pillars of Statistical WisdomTwo of the most distinguished scholars of data visualization give us a glimpse of ancient attempts to quantify the world, before revealing the century-long revolution that led to the invention of modern statistics and many of the graphical methods we use today. I learned a lot from this book, and I think you will too. -- Alberto Cairo, author of How Charts Lie: Getting Smarter about Visual InformationFriendly and Wainer demonstrate the amazing progress that has been made in data graphics over the past two hundred years. Understanding this history—where graphs came from and how they developed—will be valuable as we move forward. -- Andrew Gelman, coauthor of Regression and Other Stories
£30.56
APress Modern X86 Assembly Language Programming
Book SynopsisChapter 1 X86-Core Architecture.- Chapter 2 X86-64 Core Programming (Part 1).- Chapter 3 X86-64 Core Programming (Part 2).- Chapter 4 X86-64 Core Programming (Part 3).- Chapter 5 AVX Programming - Scalar Floating-Point.- Chapter 6 Run-Time Calling Conventions.- Chapter 7 Introduction to X86-AVX SIMD Programming.- Chapter 8 AVX Programming Packed Integers.- Chapter 9 AVX Programming Packed Floating Point.- Chapter 10 AVX2 Programming Packed Integers.- Chapter 11 AVX2 Programming Packed Floating Point (Part 1).- Chapter 12 AVX2 Programming Packed Floating Point (Part 2).- Chapter 13 AVX-512 Programming Packed Integers.- Chapter 14 AVX-512 Programming Packed Floating Point (Part 1).- Chapter 15 AVX-512 Programming Packed Floating Point (Part 2).- Chapter 16 Advanced Assembly Language Programming.- Chapter 17 Assembly Language Optimization and Development Guidelines. Appendix A Source CoTable of ContentsChapter 1 – X86-Core Architecture Chapter Goal: Explains the core architecture of an x86-64 processor. Topics discussed include fundamental data types, registers, status flags, memory addressing modes, and other important architectural subjects. Understanding of this material is necessary for the reader to successfully comprehend the book’s subsequent chapters.Historical overviewData typesFundamental data typesNumerical data typesSIMD data typesMiscellaneous data typesStringsBit fields and bit stringsX86-64 processor internal architectureOverviewGeneral-purpose registersInstruction pointerRFLAGSFloating-point and SIMD registersMXCSR RegisterInstruction operandsMemory addressingCondition codesDifferences between x86-32 and x86-64Chapter 2 – X86-64 Core Programming (Part 1) Chapter Goal: Introduces the fundamentals of x86-64 assembly language programming. The programming examples illustrate essential x86-64 assembly language programming concepts including integer arithmetic, bitwise logical operations, and shift instructions. This chapter also explains basic assembler usage and x86-64 assembly language syntax.Assembler basicsInstruction syntaxAssembler directivesModern X86 Assembly Language Programming, Third Edition Page 2 of 7Daniel Kusswurm – F:\ModX86Asm3E\Proposal\ModernX86Asm3e_Outline (proposal).docxMASM vs. NASMSource code overviewFile and function naming conventionsInteger arithmeticInteger (32-bit) addition and subtraction Bitwise logical operations Shift operations Integer (64-bit) addition and subtraction Integer multiplication and division Chapter 3 – X86-64 Core Programming (Part 2) Chapter Goal: Explores additional core x86-64 assembly language programming concepts. Topics discussed include advanced integer arithmetic, memory addressing modes, and condition codes. This chapter also covers important x86-64 assembly language programming concepts including proper stack use and for-loops.Simple stack arguments Mixed-type integer arithmetic Memory addressing Condition codes Assembly language for-loops Chapter 4 – X86-64 Core Programming (Part 3) Chapter 4 explains how to exercise core x86-64 assembly language programming data constructs including arrays and structures. It also describes how to use common x86-64 string processing instructions.Arrays1D integer array arithmetic calculations 1D integer array arithmetic calculations using multiple arrays2D integer arrays StringsOverview of x86 string instructionsCounting characters String/array compare String/array copy String/array reversal Assembly language structures Chapter 5 – Scalar Floating-Point Chapter 5 teaches the reader how to perform scalar floating-point arithmetic and other operations using assembly language. It also outlines the calling convention requirements for scalar floating-point arguments and return values.Floating-point programming conceptsSingle-precision floating-point arithmeticTemperature conversions Cone volume/surface area calculation Double-precision floating-point arithmeticSphere volume/surface area calculation Floating-point compares and conversionsFloating-point compares using VUCOMIS[S|D] Floating-point compares using VCMPS[S|D] Floating-point conversions Floating-point arraysArray mean/standard deviation calculation Chapter 6 – Assembly Language Calling Conventions Chapter 6 formally defines the calling run-time conventions for x86-64 assembly language functions. The first section explains the requirements for Windows and Visual C++ while the second section covers Linux and GNU C++.Calling convention requirements for Windows and Visual C++Stack frames (Ch06_01)Using non-volatile general-purpose registers Using non-volatile SIMD registers Calling external functions Calling convention requirements for Linux and GNU C++Stack arguments Using non-volatile general-purpose registers Calling external functions Chapter 7 – Advanced Vector Extensions Chapter 7 introduces Advanced Vector Extensions (AVX). It begins with a discussion of AVX architecture and related topics. Chapter 7 also explains elementary SIMD programming concepts. Understanding of this material is necessary for the reader to comprehend the AVX, AVX2, and AVX-512 programming examples in subsequent chapters.X86-AVX architecture overviewAVXAVX2AVX-512Merge masking and zero maskingEmbedded broadcastsInstruction level roundingSIMD programing conceptsBasic arithmeticWraparound vs. saturated arithmeticPack floating-pointPack integerProgramming differences between x86-SSE and x86-AVXChapter 8 – AVX Programming – Packed Integers Chapter 8 spotlights packed integer arithmetic and other operations using AVX. It also describes how to code packed integer calculating functions using arrays and the AVX instruction set. Integer arithmeticAddition and subtraction Multiplication Bitwise logical operations Arithmetic and logical shifts Integer array algorithmsPixel minimum and maximum Pixel mean Chapter 9 – AVX Programming – Packed Floating Point Chapter 9 demonstrates packed floating-point arithmetic and other operations using AVX. This chapter also explains how to use AVX instructions to perform calculations with floating-point arrays and matrices.Floating-point arithmeticBasic arithmetic operations Compares Conversions Floating-point arraysArray mean and standard deviation Array square roots and compares Floating-point matricesMatrix column means Chapter 10 – AVX2 Programming – Packed Integers Chapter 10 describes AVX2 integer programming using x86-64 assembly language. This chapter also elucidates the coding of common image processing algorithms using the AVX2 instruction set.Integer arithmeticBasic operations Size promotions Image processingPixel clipping RGB to grayscale Pixel conversions Image histogram Chapter 11 – AVX2 Programming – Packed Floating Point (Part 1) Chapter 11 teaches the reader how to enhance the performance of universal floating-point calculations using x86-64 assembly language and the AVX2 instruction set. The reader will also learn how to accelerate these types of calculations using fused-multiply-add (FMA) instructions.Floating-Point ArraysLeast squares with FMA Floating-Point MatricesMatrix multiplication F32 Matrix multiplication F64 Matrix (4x4) multiplication F32 Matrix (4x4) multiplication F64 Matrix (4x4) vector multiplication F32 Matrix (4x4) vector multiplication F64 Covariance matrix F64 Chapter 12 – AVX2 Programming – Packed Floating Point (Part 2) Chapter 12 is a continuation of the previous chapter. It explicates the coding of advanced algorithms including matrix inversion and convolutions using AVX2 and FMA instructions.Advanced Matrix OperationsMatrix inverse F32 Matrix inverse F64 Signal Processing1D convolution F32 variable-size kernel 1D convolution F64 variable-size kernel 1D convolution F32 fixed-size kernel 1D convolution F64 fixed-size kernel Chapter 13 – AVX-512 Programming – Packed Integers Chapter 13 highlights packed integer arithmetic and other operations using x86-64 assembly language and AVX-512. It also discusses how to code frequently used image processing algorithms using the AVX-512 instruction set.Integer ArithmeticAddition and subtraction Masked addition and subtraction Image ProcessingPixel clipping Image statistics Image histogram Chapter 14 – AVX-512 Programming – Packed Floating Point (Part 1) Chapter 14 explains basic operations using packed floating-point operands and the AVX-512 instruction set. It also teaches the reader how to code common floating-point algorithms using x86-64 assembly language and AVX-512.Floating-point arithmeticFloating-point arithmetic Floating-point compares Floating-point arithmetic and mask registers Floating-point matricesCovariance matrix Matrix multiplication F32 Matrix multiplication F64 Matrix (4x4) vector multiplication F32 Matrix (4x4) vector multiplication F64 (Ch14_08)Chapter 15 – AVX-512 Programming – Packed Floating Point (Part 2) Chapter 15 is a continuation of the previous chapter. It illustrates the coding of advanced algorithms using AVX-512 and FMA instructions.Signal Processing1D convolution F32 variable-size kernel 1D convolution F64 variable-size kernel 1D convolution F32 fixed-size kernel 1D convolution F64 fixed-size kernel Chapter 16 – Advanced Instructions and Optimization Guidelines Chapter 16 demonstrates the use of advanced x86-64 assembly language instructions. It also discusses guidelines that the reader can exploit to improve the performance of their assembly language code.Advanced instructionsCPUID instruction – processor information CPUID instruction – AVX, AVX2, FMA, and AVX-512 detection Integer non-temporal memory loads and stores Floating-point non-temporal memory stores SIMD text processing Processor microarchitecture overviewX86-64 assembly language optimization guidelinesAppendix A – Source Code and Development Tools Appendix A describes how to download, install, and execute the source code. It also includes some brief usage notes about the software development tools used to create the source code examples.Source codeDownload instructionsSetup and configurationExecuting a source code exampleSoftware development tools for WindowsMicrosoft Visual StudioMASMSoftware development tools for LinuxGNU makeGNU C++ compilerNASMBenchmarking notesAppendix B – References and Additional Resources Appendix B contains a list of references that were consulted during the writing of this book. It also lists supplemental resources that the reader can consult for additional x86-64 assembly language programming information.X86-64 assembly language programming referencesAlgorithm referencesC++ referencesX86 processor software utilities and librariesAdditional resources
£49.49
Arcler Education Inc Handbook of Metadata, Semantics and Ontologies
Book SynopsisMetadata research is a new field of study that focuses on providing a variety of digital resources with semantic descriptions, where digital resources is the most common target. These related descriptions form the foundation for more progressive and improved services in a number of applications such as, location and search, customization, and automated information delivery. As a result, metadata research focuses not only on the creation of metadata description languages but also on the practices of creating, disseminating, evaluating, maintaining, and using metadata in a variety of settings and usage contexts. The objective of the Semantic Web is essentially built on Ontology, which has recently emerged as a knowledge symbol infrastructure for the delivery of mutual semantics to metadata. A truly multidisciplinary approach is required because the combination of metadata description methods and ontology engineering creates a new setting for information engineering with certain setbacks and promising applications. The purpose of this volume is to promote interaction among researchers from a variety of disciplines and to provide some fundamental insights for the activity of engineering systems dependent on metadata, semantics, and ontologies.Table of Contents Chapter 1 Typology of Metadata and Metadata Uses Chapter 2 The Value and Cost of Metadata Chapter 3 History of Ontologies Chapter 4 Brief History of MetadataChapter 5 Metadata Quality Chapter 6 Ontologies in System Theory Chapter 7 Technologies and Systems for Managing MetadataChapter 8 Ontologies and Ontology Languages Chapter 9 Using Metadata for E-Learning Chapter 10 Methodologies for the Creation of Semantic Data in Libraries
£143.20
Springer Nature Switzerland AG Modeling Reality with Mathematics
Book SynopsisSimulating the behavior of a human heart, predicting tomorrow's weather, optimizing the aerodynamics of a sailboat, finding the ideal cooking time for a hamburger: to solve these problems, cardiologists, meteorologists, sportsmen, and engineers can count on math help. This book will lead you to the discovery of a magical world, made up of equations, in which a huge variety of important problems for our life can find useful answers.Trade Review“By providing tools and current examples on modeling issues ... the book makes a contribution answering the becoming more and more prevalent presence of Mathematics in our daily lives. The examples come essentially from the physical and natural sciences, but the book can be relied on in other areas, including the humanities, aside seminal works on mathematical modeling ... . The journey consists in eight rigorous and enjoying chapters.” (Lisa Morhaim, zbMATH 1519.00001, 2023)Table of Contents1 The model, aka the magic box.- 2 Weather Forecast Models.- 3 Epidemics: the Mathematics of Contagion.- 4 Mathematical Hearth.- 5 Mathematics in the Wind.- 6 Flying on Sun Power.- 7 The taste for Mathematics.- 8 Conclusions.
£17.99
Pearson Education (US) Data Structures Algorithms in Python
Book SynopsisTable of Contents1 Overview . . . 1 What Are Data Structures and Algorithms?. . . . . . . . . . . . . . . . . . . . . . . 1 Overview of Data Structures.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Overview of Algorithms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Some Definitions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Programming in Python.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Object-Oriented Programming.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Questions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Experiments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2 Arrays . . . 29 The Array Visualization Tool.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Using Python Lists to Implement the Array Class.. . . . . . . . . . . . . . . . . 37 The OrderedArray Visualization Tool.. . . . . . . . . . . . . . . . . . . . . . . . . . 47 Binary Search.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Python Code for an OrderedArray Class.. . . . . . . . . . . . . . . . . . . . . . . . 52 Logarithms.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Storing Objects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Big O Notation.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Why Not Use Arrays for Everything?.. . . . . . . . . . . . . . . . . . . . . . . . . . 69 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Questions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Experiments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Programming Projects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3 Simple Sorting . . . 75 How Would You Do It?.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Bubble Sort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Selection Sort.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Insertion Sort.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Comparing the Simple Sorts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Questions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Experiments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Programming Projects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4 Stacks and Queues . . . 103 Different Structures for Different Use Cases.. . . . . . . . . . . . . . . . . . . . . 103 Stacks.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Queues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Priority Queues.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Parsing Arithmetic Expressions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Questions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Experiments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Programming Projects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 5 Linked Lists . . . 157 Links.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 The LinkedList Visualization Tool.. . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 A Simple Linked List.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Double-Ended Lists.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Linked List Efficiency.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Abstract Data Types and Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Ordered Lists.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Doubly Linked Lists.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Insertion and Deletion at the Ends.. . . . . . . . . . . . . . . . . . . . . . . 201 Insertion and Deletion in the Middle.. . . . . . . . . . . . . . . . . . . . . 204 Doubly Linked List as Basis for Deques.. . . . . . . . . . . . . . . . . . . . 208 Circular Lists.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Iterators.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Questions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Experiments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Programming Projects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 6 Recursion . . . 229 Triangular Numbers.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Factorials. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Anagrams.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 A Recursive Binary Search.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 The Tower of Hanoi.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Sorting with mergesort.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Eliminating Recursion.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Some Interesting Recursive Applications.. . . . . . . . . . . . . . . . . . . . . . . 275 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Questions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Experiments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Programming Projects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 7 Advanced Sorting . . . 285 Shellsort.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Partitioning.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Quicksort.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Radix Sort.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 Timsort.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Questions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Experiments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Programming Projects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 8 Binary Trees . . . 335 Why Use Binary Trees?.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Tree Terminology.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 An Analogy.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 How Do Binary Search Trees Work?.. . . . . . . . . . . . . . . . . . . . . . . . . . 341 Finding a Node.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Inserting a Node.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 Traversing the Tree.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Finding Minimum and Maximum Key Values. . . . . . . . . . . . . . . . . . . 365 Deleting a Node.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 The Efficiency of Binary Search Trees.. . . . . . . . . . . . . . . . . . . . . . . . . 375 Trees Represented as Arrays.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 Printing Trees.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Duplicate Keys.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 The BinarySearchTreeTester.py Program. . . . . . . . . . . . . . . . . . . . . . . . 382 The Huffman Code.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Questions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 Experiments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Programming Projects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 9 2-3-4 Trees and External Storage . . . 401 Introduction to 2-3-4 Trees.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 The Tree234 Visualization Tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 Python Code for a 2-3-4 Tree.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 Efficiency of 2-3-4 Trees.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 2-3 Trees.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 External Storage.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 Questions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 Experiments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 Programming Projects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 10 AVL and Red-Black Trees 463 Our Approach to the Discussion.. . . 463 Balanced and Unbalanced Trees.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 AVL Trees.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 The Efficiency of AVL Trees.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 Red-Black Trees.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 Using the Red-Black Tree Visualization Tool.. . . . . . . . . . . . . . . . . . . . 489 Experimenting with the Visualization Tool.. . . . . . . . . . . . . . . . . . . . . 492 Rotations in Red-Black Trees.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 Inserting a New Node.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 Deletion.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 The Efficiency of Red-Black Trees.. . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 2-3-4 Trees and Red-Black Trees.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 Red-Black Tree Implementation.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 Questions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 Experiments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 Programming Projects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 11 Hash Tables 525 Introduction to Hashing.. . . . . . . . . . . . . . . . . 526 Open Addressing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536 Separate Chaining.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565 Hash Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575 Hashing Efficiency.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 Hashing and External Storage.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590 Questions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592 Experiments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594 Programming Projects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595 12 Spatial Data Structures 597 Spatial Data.. . . . . .. . . . . . . . . . . . 597 Computing Distances Between Points.. . . . . . . . . . . . . . . . . . . . . . . . . 599 Circles and Bounding Boxes.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601 Searching Spatial Data.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611 Lists of Points.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612 Grids.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 Quadtrees.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633 Theoretical Performance and Optimizations.. . . . . . . . . . . . . . . . . . . . 656 Practical Considerations.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656 Further Extensions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659 Questions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661 Experiments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662 Programming Projects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663 13 Heaps 665 Introduction to Heaps.. . . . . . . . . . . . . . . . . . . .. . . . . 666 The Heap Visualization Tool.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674 Python Code for Heaps.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677 A Tree-Based Heap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684 Heapsort.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686 Order Statistics.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700 Questions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701 Experiments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703 Programming Projects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703 14 Graphs 705 Introduction to Graphs.. . . . . . . . . . . . . . . . . . . . . . . 705 Traversal and Search.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718 Minimum Spanning Trees.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734 Topological Sorting.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740 Connectivity in Directed Graphs.. . . . . . . . . . . . . . . . . . . . . . . . . . . . 753 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759 Questions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760 Experiments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762 Programming Projects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763 15 Weighted Graphs . . . 767 Minimum Spanning Tree with Weighted Graphs.. . . . . . . . . . . . . . . . . 767 The All-Pairs Shortest-Path Problem.. . . . . . . . . . . . . . . . . . . . . . . . . . 797 Efficiency.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800 Intractable Problems.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805 Questions.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806 Experiments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808 Programming Projects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809 16 What to Use and Why 813 Analyzing the Problem.. . . . . . . . . . . 814 Foundational Data Structures.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818 Special-Ordering Data Structures.. . . . . . . . . . . . . . . . . . . . . . . . . . . . 824 Sorting.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826 Specialty Data Structures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828 External Storage.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829 Onward. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831 A Running the Visualizations . . . 833 B Further Reading . . . 841 C Answers to Questions . . . 845 9780134855684, TOC, 8/3/2022
£49.39
Careermonk Publications Data Structures And Algorithms Made Easy: Data Structures And Algorithmic Puzzles
£23.99
Pearson Education (US) Data Structures and Algorithm Analysis in C
Book SynopsisMark Allen Weiss is Professor and Associate Director for the School of Computing and Information Sciences at Florida International University. He is also currently serving as both Director of Undergraduate Studies and Director of Graduate Studies. He received his Bachelor's Degree in Electrical Engineering from the Cooper Union in 1983, and his Ph.D. in Computer Science from Princeton University in 1987, working under Bob Sedgewick. He has been at FIU since 1987 and was promoted to Professor in 1996. His interests include data structures, algorithms, and education. He is most well-known for his highly-acclaimed Data Structures textbooks, which have been used for a generation by roughly a million students. Professor Weiss is the author of numerous publications in top-rated journals and was recipient of the University's Excellence in Research Award in 1994. In 1996 at FIU he was the first in the world to teach Data Structures using the Java programming language, which is now thTable of ContentsChapter 1 Programming: A General Overview 1 1.1 What’s This Book About? 1 1.2 Mathematics Review 2 1.2.1 Exponents 3 1.2.2 Logarithms 3 1.2.3 Series 4 1.2.4 Modular Arithmetic 5 1.2.5 The P Word 6 1.3 A Brief Introduction to Recursion 8 1.4 C++ Classes 12 1.4.1 Basic class Syntax 12 1.4.2 Extra Constructor Syntax and Accessors 13 1.4.3 Separation of Interface and Implementation 16 1.4.4 vector and string 19 1.5 C++ Details 21 1.5.1 Pointers 21 1.5.2 Lvalues, Rvalues, and References 23 1.5.3 Parameter Passing 25 1.5.4 Return Passing 27 1.5.5 std::swap and std::move 29 1.5.6 The Big-Five: Destructor, Copy Constructor, Move Constructor, Copy Assignment operator=, Move Assignment operator= 30 1.5.7 C-style Arrays and Strings 35 1.6 Templates 36 1.6.1 Function Templates 37 1.6.2 Class Templates 38 1.6.3 Object, Comparable, and an Example 39 1.6.4 Function Objects 41 1.6.5 Separate Compilation of Class Templates 44 1.7 Using Matrices 44 1.7.1 The Data Members, Constructor, and Basic Accessors 44 1.7.2 operator[] 45 1.7.3 Big-Five 46 Summary 46 Exercises 46 References 48 Chapter 2 Algorithm Analysis 51 2.1 Mathematical Background 51 2.2 Model 54 2.3 What to Analyze 54 2.4 Running-Time Calculations 57 2.4.1 A Simple Example 58 2.4.2 General Rules 58 2.4.3 Solutions for the Maximum Subsequence Sum Problem 60 2.4.4 Logarithms in the Running Time 66 2.4.5 Limitations of Worst Case Analysis 70 Summary 70 Exercises 71 References 76 Chapter 3 Lists, Stacks, and Queues 77 3.1 Abstract Data Types (ADTs) 77 3.2 The List ADT 78 3.2.1 Simple Array Implementation of Lists 78 3.2.2 Simple Linked Lists 79 3.3 vector and list in the STL 80 3.3.1 Iterators 82 3.3.2 Example: Using erase on a List 83 3.3.3 const_iterators 84 3.4 Implementation of vector 86 3.5 Implementation of list 91 3.6 The Stack ADT 103 3.6.1 Stack Model 103 3.6.2 Implementation of Stacks 104 3.6.3 Applications 104 3.7 The Queue ADT 112 3.7.1 Queue Model 113 3.7.2 Array Implementation of Queues 113 3.7.3 Applications of Queues 115 Summary 116 Exercises 116 Chapter 4 Trees 121 4.1 Preliminaries 121 4.1.1 Implementation of Trees 122 4.1.2 Tree Traversals with an Application 123 4.2 Binary Trees 126 4.2.1 Implementation 128 4.2.2 An Example: Expression Trees 128 4.3 The Search Tree ADT–Binary Search Trees 132 4.3.1 contains 134 4.3.2 findMin and findMax 135 4.3.3 insert 136 4.3.4 remove 139 4.3.5 Destructor and Copy Constructor 141 4.3.6 Average-Case Analysis 141 4.4 AVL Trees 144 4.4.1 Single Rotation 147 4.4.2 Double Rotation 149 4.5 Splay Trees 158 4.5.1 A Simple Idea (That Does Not Work) 158 4.5.2 Splaying 160 4.6 Tree Traversals (Revisited) 166 4.7 B-Trees 168 4.8 Sets and Maps in the Standard Library 173 4.8.1 Sets 173 4.8.2 Maps 174 4.8.3 Implementation of set and map 175 4.8.4 An Example That Uses Several Maps 176 Summary 181 Exercises 182 References 189 Chapter 5 Hashing 193 5.1 General Idea 193 5.2 Hash Function 194 5.3 Separate Chaining 196 5.4 Hash Tables without Linked Lists 201 5.4.1 Linear Probing 201 5.4.2 Quadratic Probing 202 5.4.3 Double Hashing 207 5.5 Rehashing 208 5.6 Hash Tables in the Standard Library 210 5.7 Hash Tables with Worst-Case O(1) Access 212 5.7.1 Perfect Hashing 213 5.7.2 Cuckoo Hashing 215 5.7.3 Hopscotch Hashing 224 5.8 Universal Hashing 230 5.9 Extendible Hashing 233 Summary 236 Exercises 238 References 242 Chapter 6 Priority Queues (Heaps) 245 6.1 Model 245 6.2 Simple Implementations 246 6.3 Binary Heap 247 6.3.1 Structure Property 247 6.3.2 Heap-Order Property 248 6.3.3 Basic Heap Operations 249 6.3.4 Other Heap Operations 252 6.4 Applications of Priority Queues 257 6.4.1 The Selection Problem 258 6.4.2 Event Simulation 259 6.5 d-Heaps 260 6.6 Leftist Heaps 261 6.6.1 Leftist Heap Property 261 6.6.2 Leftist Heap Operations 262 6.7 Skew Heaps 269 6.8 Binomial Queues 271 6.8.1 Binomial Queue Structure 271 6.8.2 Binomial Queue Operations 271 6.8.3 Implementation of Binomial Queues 276 6.9 Priority Queues in the Standard Library 283 Summary 283 Exercises 283 References 288 Chapter 7 Sorting 291 7.1 Preliminaries 291 7.2 Insertion Sort 292 7.2.1 The Algorithm 292 7.2.2 STL Implementation of Insertion Sort 293 7.2.3 Analysis of Insertion Sort 294 7.3 A Lower Bound for Simple Sorting Algorithms 295 7.4 Shellsort 296 7.4.1 Worst-Case Analysis of Shellsort 297 7.5 Heapsort 300 7.5.1 Analysis of Heapsort 301 7.6 Mergesort 304 7.6.1 Analysis of Mergesort 306 7.7 Quicksort 309 7.7.1 Picking the Pivot 311 7.7.2 Partitioning Strategy 313 7.7.3 Small Arrays 315 7.7.4 Actual Quicksort Routines 315 7.7.5 Analysis of Quicksort 318 7.7.6 A Linear-Expected-Time Algorithm for Selection 321 7.8 A General Lower Bound for Sorting 323 7.8.1 Decision Trees 323 7.9 Decision-Tree Lower Bounds for Selection Problems 325 7.10 Adversary Lower Bounds 328 7.11 Linear-Time Sorts: Bucket Sort and Radix Sort 331 7.12 External Sorting 336 7.12.1 Why We Need New Algorithms 336 7.12.2 Model for External Sorting 336 7.12.3 The Simple Algorithm 337 7.12.4 Multiway Merge 338 7.12.5 Polyphase Merge 339 7.12.6 Replacement Selection 340 Summary 341 Exercises 341 References 347 Chapter 8 The Disjoint Sets Class 351 8.1 Equivalence Relations 351 8.2 The Dynamic Equivalence Problem 352 8.3 Basic Data Structure 353 8.4 Smart Union Algorithms 357 8.5 Path Compression 360 8.6 Worst Case for Union-by-Rank and Path Compression 361 8.6.1 Slowly Growing Functions 362 8.6.2 An Analysis by Recursive Decomposition 362 8.6.3 An O( M log *N ) Bound 369 8.6.4 An O( M α(M, N) ) Bound 370 8.7 An Application 372 Summary 374 Exercises 375 References 376 Chapter 9 Graph Algorithms 379 9.1 Definitions 379 9.1.1 Representation of Graphs 380 9.2 Topological Sort 382 9.3 Shortest-Path Algorithms 386 9.3.1 Unweighted Shortest Paths 387 9.3.2 Dijkstra’s Algorithm 391 9.3.3 Graphs with Negative Edge Costs 400 9.3.4 Acyclic Graphs 400 9.3.5 All-Pairs Shortest Path 404 9.3.6 Shortest Path Example 404 9.4 Network Flow Problems 406 9.4.1 A Simple Maximum-Flow Algorithm 408 9.5 Minimum Spanning Tree 413 9.5.1 Prim’s Algorithm 414 9.5.2 Kruskal’s Algorithm 417 9.6 Applications of Depth-First Search 419 9.6.1 Undirected Graphs 420 9.6.2 Biconnectivity 421 9.6.3 Euler Circuits 425 9.6.4 Directed Graphs 429 9.6.5 Finding Strong Components 431 9.7 Introduction to NP-Completeness 432 9.7.1 Easy vs. Hard 433 9.7.2 The Class NP 434 9.7.3 NP-Complete Problems 434 Summary 437 Exercises 437 References 445 Chapter 10 Algorithm Design Techniques 449 10.1 Greedy Algorithms 449 10.1.1 A Simple Scheduling Problem 450 10.1.2 Huffman Codes 453 10.1.3 Approximate Bin Packing 459 10.2 Divide and Conquer 467 10.2.1 Running Time of Divide-and-Conquer Algorithms 468 10.2.2 Closest-Points Problem 470 10.2.3 The Selection Problem 475 10.2.4 Theoretical Improvements for Arithmetic Problems 478 10.3 Dynamic Programming 482 10.3.1 Using a Table Instead of Recursion 483 10.3.2 Ordering Matrix Multiplications 485 10.3.3 Optimal Binary Search Tree 487 10.3.4 All-Pairs Shortest Path 491 10.4 Randomized Algorithms 494 10.4.1 Random-Number Generators 495 10.4.2 Skip Lists 500 10.4.3 Primality Testing 503 10.5 Backtracking Algorithms 506 10.5.1 The Turnpike Reconstruction Problem 506 10.5.2 Games 511 Summary 518 Exercises 518 References 527 Chapter 11 Amortized Analysis 533 11.1 An Unrelated Puzzle 534 11.2 Binomial Queues 534 11.3 Skew Heaps 539 11.4 Fibonacci Heaps 541 11.4.1 Cutting Nodes in Leftist Heaps 542 11.4.2 Lazy Merging for Binomial Queues 544 11.4.3 The Fibonacci Heap Operations 548 11.4.4 Proof of the Time Bound 549 11.5 Splay Trees 551 Summary 555 Exercises 556 References 557 Chapter 12 Advanced Data Structures and Implementation 559 12.1 Top-Down Splay Trees 559 12.2 Red-Black Trees 566 12.2.1 Bottom-Up Insertion 567 12.2.2 Top-Down Red-Black Trees 568 12.2.3 Top-Down Deletion 570 12.3 Treaps 576 12.4 Suffix Arrays and Suffix Trees 579 12.4.1 Suffix Arrays 580 12.4.2 Suffix Trees 583 12.4.3 Linear-Time Construction of Suffix Arrays and Suffix Trees 586 12.5 k-d Trees 596 12.6 Pairing Heaps 602 Summary 606 Exercises 608 References 612 Appendix A Separate Compilation of Class Templates 615 A.1 Everything in the Header 616 A.2 Explicit Instantiation 616 Index 619
£150.11
Elsevier Science Computability Complexity and Languages
Book SynopsisCovers the key areas of computer science, including recursive function theory, formal languages, and automata. This book is divided into five parts: Computability, Grammars and Automata, Logic, Complexity, and Unsolvability. It also covers in a variety of different arrangements automata theory, computational logic, and complexity theory.Trade Review"If there is a single book on the theory of computing that should be in every college library collection, this is it. Although written as a text for an advanced undergraduate course in theoretical computer science, the book may serve as an introductory resource, or the foundation for independent study, in many areas of theoretical computing: grammars, automata theory, computability, complexity theory, and unsolvability. The beauty of this book is that the breadth of coverage is complemented with extraordinary depth." --CHOICE "Theoretical computer science is often viewed as a collection of disparate topics, including computability theory, formal language theory, complexity theory, logic, and so on. This well-written book attempts to unify the subject by introducing each of these topics in turn, then showing how they relate to each other... This is an excellent book that succeeds in tying together a number of areas in theoretical computer science." --COMPUTING REVIEWSTable of ContentsPreliminaries. Computability: Programs and Computable Functions. Primitive Recursive Functions. A Universal Program. Calculations on Strings. Turing Machines. Processes and Grammars. Classifying Unsolvable Problems. Grammars and Automata: Regular Languages. Context-Free Languages. Context-Sensitive Languages. Logic: Propositional Calculus. Quantification Theory. Complexity: Abstract Complexity. PolynomialTime Computability. Semantics: Approximation Orderings. Denotational Semantics of Recursion Equations. Operational Semantics of Recursion Equations. Suggestions for Further Reading. Subject Index.
£47.49
Wellesley-Cambridge Press Algorithms for Global Positioning
a huge range and FREE tracked UK delivery on ALL orders.
£68.39
O'Reilly Media Understanding Compression
Book SynopsisThis witty book helps you understand how data compression algorithms work-in theory and practice-so you can choose the best solution among all the available compression tools.
£23.60
APress C17 Standard Library Quick Reference
Book SynopsisThis quick reference is a condensed guide to the essential data structures, algorithms, and functions provided by the C++17 Standard Library. It does not explain the C++ language or syntax, but is accessible to anyone with basic C++ knowledge or programming experience. Even the most experienced C++ programmer will learn a thing or two from it and find it a useful memory-aid. It is hard to remember all the possibilities, details, and intricacies of the vast and growing Standard Library. This handy reference guide is therefore indispensable to any C++ programmer. It offers a condensed, well-structured summary of all essential aspects of the C++ Standard Library. No page-long, repetitive examples or obscure, rarely used features. Instead, everything you need to know and watch out for in practice is outlined in a compact, to-the-point style, interspersed with practical tips and well-chosen, clarifying examples. This new ediTable of Contents0. Introduction1. Numerics and Math2. General Utilities3. Containers4. Algorithms5. Stream I/O6. Characters and Strings7. Concurrency8. DiagnosticsA. Appendix
£35.99
New York University Press Algorithms of Oppression
Book SynopsisA revealing look at how negative biases against women of color are embedded in search engine results and algorithms Run a Google search for black girlswhat will you find? Big Booty and other sexually explicit terms are likely to come up as top search terms. But, if you type in white girls, the results are radically different. The suggested porn sites and un-moderated discussions about why black women are so sassy or why black women are so angry presents a disturbing portrait of black womanhood in modern society.In Algorithms of Oppression, Safiya Umoja Noble challenges the idea that search engines like Google offer an equal playing field for all forms of ideas, identities, and activities. Data discrimination is a real social problem; Noble argues that the combination of private interests in promoting certain sites, along with the monopoly status of a relatively small number of Internet search engines, leads to a biased set of search algorithms that privilegTrade Review"Rather than being a neutral arbiter that sorts content by quality, Noble argues that search engines are easily gamed in ways that reflect discriminatory practices. Even without malevolent actors, search engines may be perpetuating racist stereotypes." * Chicago Tribune *"Nobles thesis is a new tune in the ever-louder chorus that, in light of the dominance of the big tech companies, is singing for 'protections and attention that work in service of the public'." * The Financial Times *"[P]resents convincing evidence of the need for closer scrutiny and regulation of search engine[s].A thought-provoking, well-researched work." * Library Journal *"Noble argues...that the web is ...a machine of oppression...[Her] central insight - that nothing about internet search and retrieval is political neutral - is made...through the accumulation of alarming and disturbing examples. [She] makes a compelling case that pervasive racism online inflames racist violence IRL." * Los Angeles Review of Books *"A distressing account of algorithms run amok." * Kirkus Reviews *"Algorithms of Oppressionis a wakeup call to bring awareness to the biases of the internet, and should motivate all concerned people to ask why those biases exist, and who they benefit." * New York Journal of Books *"Noble offers a compelling look into the structure of digitized informationmost of it driven by advertising revenueand how it perpetuates racist assumptions and ideologies." * Pacific Standard *"Noble makes a strong case that present technologies and search engines are not just imperfect, but they enact actual harm to people and communities." * Popmatters.com *"50 Best Book of 2018 So Far, "There's been a growing swell of concern in the academic community about the stranglehold that commercial (for-profit) search engines have over access to information in our world. Safiya Umoja Noble builds on this body of work...to demonstrate that search engines, and in particular Google, are not simply imperfect machines, but systems designed by humans in ways that replicate the power structures of the western countries where they are built, complete with all the sexism and racism that are built into those structures." * Popmatters.com *"Noble demolishes the popular assumption that Google is a values-free tool with no agenda...She astutely questions the wisdom of turning so much of our data and intellectual capital over to a corporate monopoly.Nobles study should prompt some soul-searching about our reliance on commercial search engines and about digital social equity." * STARRED Booklist *"Nobles incisive work centers around the fact that, at present, Googles search engine promotes structural inequality through multiple examples and that this is not just a & design problem but an inherent political problem that has shaped the entirety of twentieth-century technology design. In addition to her illustrative examples and incisive criticism, Noble offers practicable policy solutions." * Metascience *"In Algorithms of Oppression, [Noble] offers her readers a lens to discover, analyze, and critique the search engine algorithms that perpetuate stereotypes and racist beliefs[This] book will be of great interest to academic librarians who teach information literacy courses, as well as students and faculty in computer science, ethnic studies, gender studies, and mass communications." * Choice *"A good read for anyone interested in how bias can be expressed by lines of code. Even those already familiar with the issues will find new insight in the connections and impact Noble outlines. The book is accessible even to those who are not well-versed in the technology of search engines." -- The International Journal of Information, Diversity, & Inclusion""Algorithms of Oppression succeeds as a critical intervention, one with a clear commitment to engaged scholarship that should lead to policy changes as well as changes in a field too white, American and male. For readers of this journal, the book is a powerful example of the vital contributions of Black Feminist Technology Studies... Noble demonstrates that engaged, intersectional and accessible writing can and indeed does make a difference." " -- The International Journal of Press/Politics"Often assumed by both developers and the general public to be value-neutral, the algorithmic structures through which human beings create, organize, and access content online are, Noble effectively argues, inescapably shaped by the logics of oppression that shape our interconnected lives … Algorithms provides a strong introduction, with concrete and replicable examples of algorithmic oppression, for those beginning to think critically about our internet-centric information ecosystem. For those already steeped in the rapidly growing literature of critical librarian and information studies, Algorithms will be a valuable addition to our corpus of texts that blend theory and practice, both documenting the problematic nature of where we are and the possibility of where we might arrive in future if we fight, collectively, to make it so." -- New England Archivists"Algorithms of Oppression offers a sobering portrait of the impact of our reliance on quick, freely accessible searches. Foregrounding her discussion in the context of the technological mechanisms and decision‐makers that drive results, Noble forces the reader to confront the rarely discussed risks and long‐term costs associated with easy‐to‐access, corporate‐sponsored information." -- Teachers College Record"All search results are not created equal. Through deft analyses of software, society, and superiority, Noble exposes both the motivations and mathematics that make a & technologically redlined internet. Read this book to understand how supposedly race neutral zeros and ones simply dont add up." -- Matthew W. Hughey,Author of White Bound: Nationalists, Antiracists, and the Shared Meanings of Race"Safiya Noble has produced an outstanding book that raises clear alarms about the ways Google quietly shapes our lives, minds, and attitudes. Noble writes with urgency and clarity. This book is essential for anyone hoping to understand our current information ecosystem." -- Siva Vaidhyanathan,Author of The Googlization of Everything — and Why We Should Worry"Safiya Nobles compelling and accessible book is an impressive survey of the impact of search and other algorithms on our understandings of racial and gender identity. Her study raises crucial questions regarding the power and control of algorithms, and is essential reading for understanding the way media works in the contemporary moment." -- Sarah Banet-Weiser,Author of Authentic™: The Politics of Ambivalence in a Brand Culture"Algorithms of Oppression shines a light not only on the way that new technologies both reaffirm hegemonies of the past and impose constraints on our futures, but also on how we ourselves are interpellated daily and voluntarily into these algorithmic processes." * This Year’s Work in Critical and Cultural Theory *"Illustrates not only how the platforms and programmes we use in our daily life are created and built within a specific economic, racial, and gendered context, but that that context and those platforms enact and reinforce oppressive social relationships as we use them." * Archifacts *
£22.79
No Starch Press,US Algorithmic Thinking, 2nd Edition: A
Book SynopsisKnowing how to design algorithms will take you from being a good programmer to a great programmer. This completely revised second edition teaches you how to design your own rocket-fast, right-for-the-task algorithms-minus the proofs and complex math. Forget the useless pseudocode and played-out examples you've seen in other books. Author and award-winning educator Dan Zingaro draws problems straight from online programming competitions to rigorously teach you all of the heavyweights you need to know, like hash tables, recursion, trees, graphs, and heaps. As he guides you to the perfect algorithmic solution for each unique programming puzzle, you'll build up a toolkit of go-to algorithms for quickly and correctly solving any problem you come across. The second edition features several entirely new chapters on dynamic programming and randomized algorithms, as well as more effective problems and enhanced explanations. Code examples are provided using the C language. Learn how to: ClassifTrade Review"Algorithmic Thinking provides the theoretical background and detailed problem explanations required to stay ahead of our human and robotic competitors."—Duncan Smith, Senior Software Engineer at Microsoft"In this newly revised edition, Daniel presents a carefully curated collection of challenging programming problems. By deconstructing the problems alongside clear, practical presentations of algorithms and data structures, Algorithmic Thinking will empower you–whether you're looking to get a leg up on technical interviews, enter the world of competitive programming, or just want to sharpen your skills."—Josh Lospinoso, Ph.D., author of C++ Crash Course"As someone who learnt algorithms from similar problems-oriented books in the early 00s, I believe an updated yet beginner-friendly exposition is long overdue. This book provides implementation-friendly introductions to most building blocks of combinatorial algorithms . . . It's by far the quickest way to get hands-on experience with algorithms, and is also a great supplement to more theoretical expositions."—Richard Peng, Associate Professor at the University of Waterloo’s Cheriton School of Computer Science"Not only does Algorithmic Thinking guide readers on how to approach tackling problems, but Zingaro also helps them understand why these approaches work. With an engaging selection of problems drawn from programming competitions, the book is an excellent guide and an engaging companion for the readers on their learning journey."—Sushant Sachdeva, Ph.D., Algorithms Professor at the University of Toronto"The step-by-step solution explanations are so detailed that it feels like Daniel is directly teaching us, his readers. This Second Edition is a worthy update to an already excellent text. I particularly like the new chapter on the rarely discussed randomized algorithms. I believe Computer Science students will enjoy reading it as I do."—Dr Steven Halim, Senior Lecturer at National University of Singapore"The book discusses many interesting problems from programming contests and presents useful techniques that are not often included in algorithm textbooks."—Antti Laaksonen, University of Helsinki"Now a fully updated and expanded second edition, Daniel Zingaro's Algorithmic Thinking: Unlock Your Programming Potential from No Starch Press is an ideal, comprehensive, and thoroughly 'user friendly' instructional resource for C Programming Language students and software development professionals alike."—Midwest Book ReviewTable of ContentsForewordIntroductionAcknowledgmentsChapter 1: Hash TablesChapter 2: Trees and RecursionChapter 3: Memoization and Dynamic ProgrammingChapter 4: Advanced Memoization and Dynamic ProgrammingChapter 5: Graphs and Breadth-First SearchChapter 6: Shortest Paths in Weighted GraphsChapter 7: Binary SearchChapter 8: Heaps and Segment TreesChapter 9: Union-FindChapter 10: RandomizationAfterwordAppendix A: Algorithm RuntimeAppendix B: Because I Can’t ResistAppendix C: Problem CreditsIndex
£35.99
MIT Press Ltd RealWorld Algorithms A Beginners Guide
Book SynopsisAn introduction to algorithms for readers with no background in advanced mathematics or computer science, emphasizing examples and real-world problems.Algorithms are what we do in order not to have to do something. Algorithms consist of instructions to carry out tasks—usually dull, repetitive ones. Starting from simple building blocks, computer algorithms enable machines to recognize and produce speech, translate texts, categorize and summarize documents, describe images, and predict the weather. A task that would take hours can be completed in virtually no time by using a few lines of code in a modern scripting program. This book offers an introduction to algorithms through the real-world problems they solve. The algorithms are presented in pseudocode and can readily be implemented in a computer language.The book presents algorithms simply and accessibly, without overwhelming readers or insulting their intelligence. Readers should be comfortable with mathematica
£40.85
Cambridge University Press Foundations of XML Processing
a huge range and FREE tracked UK delivery on ALL orders.
£999.99
Cambridge University Press Design and Analysis of Algorithms
Book SynopsisA valuable text in the field of computer science and engineering, covering fundamental concepts and recent advancements. To help the reader to design/redesign algorithms for their requirements rather than be overawed by the challenges of a new framework.Table of ContentsPreface; Acknowledgement; 1. Model and analysis; 2. Basics of probability and tail inequalities; 3. Warm up problems; 4. Optimization I: brute force and greedy strategy; 5. Optimization II: dynamic programming; 6. Searching; 7. Multidimensional searching and geometric algorithms; 8. String matching and finger printing; 9. Fast Fourier transform and applications; 10. Graph algorithms; 11. NP completeness and approximation algorithms; 12. Dimensionality reduction; 13. Parallel algorithms; 14. Memory hierarchy and caching; 15. Streaming data model; Appendix A. Recurrences and generating functions; Index.
£42.74
APress Modern Deep Learning for Tabular Data
Book SynopsisDeep learning is one of the most powerful tools in the modern artificial intelligence landscape. While having been predominantly applied to highly specialized image, text, and signal datasets, this book synthesizes and presents novel deep learning approaches to a seemingly unlikely domain - tabular data. Whether for finance, business, security, medicine, or countless other domain, deep learning can help mine and model complex patterns in tabular data - an incredibly ubiquitous form of structured data.Part I of the book offers a rigorous overview of machine learning principles, algorithms, and implementation skills relevant to holistically modeling and manipulating tabular data. Part II studies five dominant deep learning model designs - Artificial Neural Networks, Convolutional Neural Networks, Recurrent Neural Networks, Attention and Transformers, and Tree-Rooted Networks - through both their ''default'' usage and their application to tabular data. Part III compounds the powTable of Contents○ Section 1: Machine Learning and Tabular Data ■ Chapter 1 – Introduction to Machine Learning ■ Chapter 2 – Data Tools ○ Section 2: Applied Deep Learning Architectures ■ Chapter 3 – Artificial Neural Networks ■ Chapter 4 – Convolutional Neural Networks ■ Chapter 5 – Recurrent Neural Networks ■ Chapter 6 – Attention Mechanism ■ Chapter 7 – Tree-based Neural Networks ○ Section 3: Deep Learning Design and Tools ■ Chapter 8 – Autoencoders ■ Chapter 9 – Data Generation ■ Chapter 10 – Meta-optimization ■ Chapter 11 – Multi-model arrangement ■ Chapter 12 – Deep Learning Interpretability ○ Appendix A
£41.24
APress Architecture of Advanced Numerical Analysis
Book SynopsisThis unique open access book applies the functional OCaml programming language to numerical or computational weighted data science, engineering, and scientific applications. This book is based on the authors' first-hand experience building and maintaining Owl, an OCaml-based numerical computing library.You'll first learn the various components in a modern numerical computation library. Then, you will learn how these components are designed and built up and how to optimize their performance. After reading and using this book, you'll have the knowledge required to design and build real-world complex systems that effectively leverage the advantages of the OCaml functional programming language. What You Will LearnOptimize core operations based on N-dimensional arraysDesign and implement an industry-level algorithmic differentiation moduleImplement mathematical optimization, regression, and deep neural network functionalities based on algorithmic differentiationDesign and optimize a compTable of ContentsPrologueA Brief HistoryReductionism vs. HolismKey FeaturesContact MePART 1: NUMERICAL TECHNIQUES1. IntroductionWhat Is Scientific ComputingWhat is Functional ProgrammingWho Is This Book ForStructure of the BookInstallationOption 1: Install from OPAMOption 2: Pull from Docker HubOption 3: Pin the Dev-RepoOption 4: Compile from SourceCBLAS/LAPACKE DependencyInteracting with OwlUsing ToplevelUsing NotebookUsing Owl-JupyterSummary2. ConventionsPure vs. ImpureNdarray vs. ScalarInfix OperatorsOperator ExtensionModule StructuresNumber and PrecisionPolymorphic FunctionsModule ShortcutsType Casting3. VisualisationCreate PlotsSpecificationSubplotsMultiple LinesLegendDrawing PatternsLine PlotScatter PlotStairs PlotBox PlotStem PlotArea PlotHistogram & CDF PlotLog Plot3D PlotAdvanced Statistical PlotSummaryReferences4. Mathematical FunctionsBasic FunctionsBasic Unary Math FunctionsBasic Binary FunctionsExponential and Logarithmic FunctionsTrigonometric FunctionsOther Math FunctionsSpecial FunctionsAiry FunctionsBessel FunctionsElliptic FunctionsGamma FunctionsBeta FunctionsStruve FunctionsZeta FunctionsError FunctionsIntegral FunctionsFactorialsInterpolation and ExtrapolationIntegrationUtility FunctionsSummary5. Statistical FunctionsRandom VariablesDiscrete Random VariablesContinuous Random VariablesDescriptive StatisticsOrder StatisticsSpecial DistributionGamma DistributionBeta DistributionChi-Square DistributionStudent-t DistributionCauchy DistributionMultiple VariablesSamplingHypothesis TestsTheoryGaussian Distribution in Hypothesis TestingTwo-Sample InferencesGoodness-of-fit TestsNon-parametric StatisticsCovariance and CorrelationsAnalysis of VarianceSummary6. N-Dimensional ArraysNdarray TypesCreation FunctionsProperties FunctionsMap FunctionsFold FunctionsScan FunctionsComparison FunctionsVectorised FunctionsIteration FunctionsManipulation FunctionsSerialisationTensorsSummaryReferences7. Slicing and BroadcastingSlicingBasic SlicingFancy SlicingConventions in DefinitionExtended OperatorsAdvanced UsageBroadcastingWhat Is Broadcasting?Shape ConstraintsSupported OperationsSlicing in NumPy and JuliaInternal MechanismSummary8. Linear AlgebraVectors and MatricesCreating MatricesAccessing ElementsIterate, Map, Fold, and FilterMath OperationsGaussian EliminationLU FactorisationInverse and TransposeVector SpacesRank and BasisOrthogonalitySolving Ax = bMatrix SensitivityDeterminantsEigenvalues and EigenvectorsSolving Ax=λ xComplex MatricesSimilarity Transformation and DiagonalisationPositive Definite MatricesPositive DefinitenessSingular Value DecompositionInternal: CBLAS and LAPACKELow-level Interface to CBLAS & LAPACKESparse MatricesSummaryReferences9. Ordinary Differential EquationsWhat Is An ODEExact SolutionsLinear SystemsSolving An ODE NumericallyOwl-ODEExample: Linear Oscillator SystemSolver StructureSymplectic SolversFeatures and LimitsExamples of using Owl-ODEExplicit ODETwo Body ProblemLorenz AttractorDamped OscillationStiffnessSolve Non-Stiff ODEsSolve Stiff ODEsSummaryReferences10. Signal ProcessingDiscrete Fourier TransformFast Fourier TransformExamplesApplications of FFTFind period of sunspotsDecipher the ToneImage ProcessingFilteringExample: SmoothingGaussian FilterSignal ConvolutionFFT and Image ConvolutionSummaryReferences11. Algorithmic DifferentiationChain RuleDifferentiation MethodsHow Algorithmic Differentiation WorksForward ModeReverse ModeForward or Reverse?A Strawman AD EngineSimple Forward ImplementationSimple Reverse ImplementationUnified ImplementationsForward and Reverse Propagation APIExpressing ComputationExample: Forward ModeExample: Reverse ModeHigh-Level APIsDerivative and GradientJacobianHessian and LaplacianOther APIsInternal of Algorithmic DifferentiationGo Beyond Simple ImplementationExtend AD moduleLazy EvaluationSummaryReferences12. OptimisationIntroductionRoot FindingUnivariate Function OptimisationUse DerivativesGolden Section SearchMultivariate Function OptimisationNelder-Mead Simplex MethodGradient Descent MethodsConjugate Gradient MethodNewton and Quasi-Newton MethodsGlobal Optimisation and Constrained OptimisationSummaryReferences13. RegressionLinear RegressionProblem: Where to locate a new McDonald’s restaurant?Cost FunctionSolving Problem with Gradient DescentMultiple RegressionFeature NormalisationAnalytical SolutionNon-linear regressionsRegularisationOls, Ridge, Lasso, and Elastic_netLogistic RegressionSigmoid FunctionCost FunctionExampleMulti-class classificationSupport Vector MachineKernel and Non-linear BoundaryExampleModel error and selectionError MetricsModel SelectionSummaryReferences14. Deep Neural NetworksPerceptronYet Another RegressionModel RepresentationForward PropagationBack propagationFeed Forward NetworkLayersActivation FunctionsInitialisationTrainingTestNeural Network ModuleModule StructureNeuronsNeural GraphTraining ParametersConvolutional Neural NetworkRecurrent Neural NetworkLong Short Term Memory (LSTM)Generative Adversarial NetworkSummaryReferences15. Natural Language ProcessingIntroductionText CorpusStep-by-step OperationUse the Corpus ModuleVector Space ModelsBag of Words (BOW)Term Frequency–Inverse Document Frequency (TF-IDF)Latent Dirichlet Allocation (LDA)ModelsDirichlet DistributionGibbs SamplingTopic Modelling ExampleLatent Semantic Analysis (LSA)Search Relevant DocumentsEuclidean and Cosine SimilarityLinear SearchingSummaryReferences16. Dataframe for Tabular DataBasic ConceptsCreate FramesManipulate FramesQuery FramesIterate, Map, and FilterRead/Write CSV FilesInfer Type and SeparatorSummary17. Symbolic RepresentationIntroductionDesignCore abstractionEnginesONNX EngineExample 1: Basic operationsExample 2: Variable InitialisationExample 3: Neural networkLaTeX EngineOwl EngineSummary18. Probabilistic ProgrammingGenerative Model vs Discriminative ModelBayesian NetworksSampling TechniquesInferencePART 2: SYSTEM ARCHITECTURE19. Architecture OverviewIntroductionArchitecture OverviewCore ImplementationN-dimensional ArrayInterfaced LibrariesAdvanced FunctionalityComputation GraphAlgorithmic DifferentiationRegressionNeural NetworkParallel ComputingActor EngineGPU ComputingOpenMPCommunity-Driven R&DSummary20. Core OptimisationBackgroundNumerical LibrariesOptimisation of Numerical ComputationInterfacing to C CodeNdarray OperationsFrom OCaml to COptimisation TechniquesMap OperationsConvolution OperationsReduction OperationsRepeat OperationsSummaryReferences21. Automatic Empirical TuningWhat is Parameter TuningWhy Parameter Tuning in OwlHow to Tune OpenMP ParametersMake a DifferenceSummary22. Computation GraphIntroductionWhat is a Computation Graph?From Dynamic to StaticSignificance in ComputingExamplesExample 01: Basic CGraphExample 02: CGraph with ADExample 03: CGraph with DNNDesign RationaleOptimisation of CGraphOptimising memory with pebblesAllocation AlgorithmAs Intermediate RepresentationsSummary23. Scripting and Zoo SystemIntroductionShare Script with ZooTypical ScenarioCreate a ScriptShare via GistImport in Another ScriptSelect a Specific VersionCommand Line ToolMore ExamplesSystem DesignServicesType CheckingBackendDomain Specific LanguageService DiscoveryUse CaseSummaryReferences24. Compiler BackendsBase LibraryBackend: JavaScriptUse Native OCamlUse Facebook ReasonBackend: MirageOSMirageOS and UnikernelExample: Gradient DescentExample: Neural NetworkEvaluationSummary25. Distributed ComputingActor SystemDesignActor EnginesMap-Reduce EngineParameter Server EnginePeer-to-Peer EngineClassic Synchronise ParallelBulk Synchronous ParallelAsynchronous ParallelStale Synchronous ParallelProbabilistic Synchronise ParallelBasic idea: samplingCompatibilityBarrier Trade-off DimensionsConvergenceA Distributed Training ExampleStep ProgressAccuracySummaryReferences26. Testing FrameworkUnit TestExampleWhat Could Go WrongCorner CasesTest CoverageUse FunctorSummary27. Constants and Metric SystemWhat Is a Metric SystemFour Metric SystemsSI PrefixExample: Physics and Math constantsInternational System of UnitsTimeLengthAreaVolumeSpeedMassForceEnergyPowerPressureViscosityLuminanceRadioactivity28. Internal Utility ModulesDataset ModuleMNISTCIFAR-10Graph ModuleStack and Heap ModulesCount-Min SketchSummaryPART 3: CASE STUDIES29. Case - Image RecognitionBackgroundLeNetAlexNetVGGResNetSqueezeNetCapsule NetworkBuilding InceptionV3 NetworkInceptionV1 and InceptionV2FactorisationGrid Size ReductionInceptionV3 ArchitecturePreparing WeightsProcessing ImageRunning InferenceApplicationsSummaryReferences30. Case - Instance SegmentationIntroductionMask R-CNN NetworkBuilding Mask R-CNNFeature ExtractorProposal GenerationClassificationRun the CodeSummaryReferences31. Case - Neural Style TransferContent and StyleContent ReconstructionStyle RecreationCombining Content and StyleRunning NSTExtending NSTFast Style TransferBuilding FST NetworkRunning FSTSummaryReferences32. Case - Recommender SystemIntroductionArchitectureBuild Topic ModelsIndex Text CorpusRandom ProjectionOptimising Vector StorageOptimise Data StructureOptimise Index AlgorithmSearch ArticlesCode ImplementationMake It LiveSummaryReferences33. Case - Applications in FinanceIntroductionBond PricingBlack-Scholes ModelMathematical ModelOption PricingPortfolio OptimisationMathematical ModelEfficient FrontierMaximise Sharpe Ratio
£33.74
APress Make Your Data Speak
Book SynopsisTable of ContentsIntroduction. Three stories that made me write this bookChapter 1. Data preparation 1.1 Analyzing and transforming the original data 1.2 Preparing the basis for a dashboard 1.3 Making data samples for visualizations 1.4. Setting up an interactivity 1.5. Summary and conclusions of the chapter, quick tricks Chapter 2. Dashboard assembling 2.1 Assembling a dashboard according to the layout 2.2 Creating KPI cards 2.3 Aligning a dashboard, adding a header 2.4 Summary and conclusions of the chapter, quick tricks Chapter 3. Anatomy of diagrams 3.1 Analyzing ready-made design styles 3.2 Setting up data labels 3.3 Working with the text: remove the excess, add the necessary 3.4 Designing bar charts 3.5 Setting up the chart template 3.6 Summary and conclusions of the chapter, quick tricks Chapter 4. Final dashboard design 4.1 Aligning the headers to the grid 4.2 Creating new cards on the top of the cells 4.3 Making interactive slicers 4.4 Working with Excel colors and fonts 4.5 Improving standard Excel themes 4.6. Summary and conclusions of the chapter, quick tricks Chapter 5. Corporate identity 5.1 Creating a theme in accordance with the brandbook 5.2 Adapting the theme according to the checklist 5.3 Creating a dashboard in a dark theme 5.4 Summary and conclusions of the chapter, quick tricks Chapter 6. Data visualization rules 6.1 Types of data analysis 6.2 How to choose charts 6.3 Life hacks for multiple data series 6.4 When you need everything at once 6.5 Funnel and waterfall 6.6 Summary and conclusions of the chapter, quick tricks Conclusion
£41.24
Nova Science Publishers Inc Trends in Computer Science
Book Synopsis
£143.24
Nova Science Publishers Inc Flexible Text Searching
Book Synopsis
£999.99
Technics Publications LLC Julia for Data Science
Book SynopsisMaster how to use the Julia language to solve business critical data science challenges. After covering the importance of Julia to the data science community and several essential data science principles, we start with the basics including how to install Julia and its powerful libraries. Many examples are provided as we illustrate how to leverage each Julia command, dataset, and function. Specialised script packages are introduced and described. Hands-on problems representative of those commonly encountered throughout the data science pipeline are provided, and we guide you in the use of Julia in solving them using published datasets. Many of these scenarios make use of existing packages and built-in functions, as we cover: 1. An overview of the data science pipeline along with an example illustrating the key points, implemented in Julia; 2. Options for Julia IDEs; 3. Programming structures and functions; 4. Engineering tasks, such as importing, cleaning, formatting and storing data, as well as performing data pre-processing; 5. Data visualisation and some simple yet powerful statistics for data exploration purposes; 6. Dimensionality reduction and feature evaluation; 7. Machine learning methods, ranging from unsupervised (different types of clustering) to supervised ones (decision trees, random forests, basic neural networks, regression trees, and Extreme Learning Machines); 8. Graph analysis including pinpointing the connections among the various entities and how they can be mined for useful insights. Each chapter concludes with a series of questions and exercises to reinforce what you learned. The last chapter of the book will guide you in creating a data science application from scratch using Julia.
£39.09
New Age International (UK) Ltd A Practical Approach to Data Structures and
Book Synopsis
£38.00
De Gruyter Data structures based on linear relations
Book Synopsis
£44.25
De Gruyter Artificial Intelligence for Data-Driven Medical
Book Synopsis
£85.12
De Gruyter Data structures based on non-linear relations and
Book Synopsis
£44.25
De Gruyter Nature-Inspired Optimization Algorithms: Recent
Book SynopsisThis book will focus on the involvement of data mining and intelligent computing methods for recent advances in Biomedical applications and algorithms of nature-inspired computing for Biomedical systems. The proposed meta heuristic or nature-inspired techniques should be an enhanced, hybrid, adaptive or improved version of basic algorithms in terms of performance and convergence metrics. In this exciting and emerging interdisciplinary area a wide range of theory and methodologies are being investigated and developed to tackle complex and challenging problems. Today, analysis and processing of data is one of big focuses among researchers community and information society. Due to evolution and knowledge discovery of natural computing, related meta heuristic or bio-inspired algorithms have gained increasing popularity in the recent decade because of their significant potential to tackle computationally intractable optimization dilemma in medical, engineering, military, space and industry fields. The main reason behind the success rate of nature inspired algorithms is their capability to solve problems. The nature inspired optimization techniques provide adaptive computational tools for the complex optimization problems and diversified engineering applications. Tentative Table of Contents/Topic Coverage: - Neural Computation - Evolutionary Computing Methods - Neuroscience driven AI Inspired Algorithms - Biological System based algorithms - Hybrid and Intelligent Computing Algorithms - Application of Natural Computing - Review and State of art analysis of Optimization algorithms - Molecular and Quantum computing applications - Swarm Intelligence - Population based algorithm and other optimizations
£85.12
De Gruyter Algorithms: Design and Analysis
Book SynopsisAlgorithms play a central role both in the theory and in the practice of computing. The goal of the authors was to write a textbook that would not trivialize the subject but would still be readable by most students on their own. The book contains over 120 exercises. Some of them are drills; others make important points about the material covered in the text or introduce new algorithms not covered there. The book also provides programming projects. From the Table of Contents: Chapter 1: Basic knowledge of Mathematics, Relations, Recurrence relation and Solution techniques, Function and Growth of functions. Chapter 2: Different Sorting Techniques and their analysis. Chapter 3: Greedy approach, Dynamic Programming, Branch and Bound techniques, Backtracking and Problems, Amortized analysis, and Order Statics. Chapter 4: Graph algorithms, BFS, DFS, Spanning Tree, Flow Maximization Algorithms. Shortest Path Algorithms. Chapter 5: Binary search tree, Red black Tree, Binomial heap, B-Tree and Fibonacci Heap. Chapter 6: Approximation Algorithms, Sorting Networks, Matrix operations, Fast Fourier Transformation, Number theoretic Algorithm, Computational geometry Randomized Algorithms, String matching, NP-Hard, NP-Completeness, Cooks theorem.
£39.60