Algorithms and data structures Books

662 products


  • Springer-Verlag Berlin and Heidelberg GmbH & Co. KG Monte Carlo and Quasi-Monte Carlo Methods 2010

    1 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    1 in stock

    £116.99

  • A Statistical Mechanical Interpretation of Algorithmic Information Theory

    Springer Verlag, Singapore A Statistical Mechanical Interpretation of Algorithmic Information Theory

    1 in stock

    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.

    1 in stock

    £49.49

  • Springer Verlag, Singapore QoS Routing Algorithms for Wireless Sensor Networks

    1 in stock

    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

    1 in stock

    £80.99

  • Data Structures in Depth Using C

    Springer-Verlag Berlin and Heidelberg GmbH & Co. KG Data Structures in Depth Using C

    1 in stock

    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.

    1 in stock

    £49.49

  • A CommonSense Guide to Data Structures and Algorithms in Python Volume 2

    1 in stock

    £51.29

  • Absolute Beginners Guide to Algorithms

    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

  • Statistics Playbook

    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

  • A History of Data Visualization and Graphic

    Harvard University Press A History of Data Visualization and Graphic

    15 in stock

    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

    15 in stock

    £30.56

  • Modern X86 Assembly Language Programming

    APress Modern X86 Assembly Language Programming

    1 in stock

    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

    1 in stock

    £49.49

  • Handbook of Metadata, Semantics and Ontologies

    Arcler Education Inc Handbook of Metadata, Semantics and Ontologies

    1 in stock

    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

    1 in stock

    £143.20

  • Modeling Reality with Mathematics

    Springer Nature Switzerland AG Modeling Reality with Mathematics

    5 in stock

    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.

    5 in stock

    £17.99

  • Data Structures  Algorithms in Python

    Pearson Education (US) Data Structures Algorithms in Python

    2 in stock

    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

    2 in stock

    £49.39

  • 15 in stock

    £23.99

  • Data Structures and Algorithm Analysis in C

    Pearson Education (US) Data Structures and Algorithm Analysis in C

    15 in stock

    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

    15 in stock

    £150.11

  • Elsevier Science Computability Complexity and Languages

    15 in stock

    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. Polynomial–Time Computability. Semantics: Approximation Orderings. Denotational Semantics of Recursion Equations. Operational Semantics of Recursion Equations. Suggestions for Further Reading. Subject Index.

    15 in stock

    £47.49

  • Wellesley-Cambridge Press Algorithms for Global Positioning

    2 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    2 in stock

    £68.39

  • Understanding Compression

    O'Reilly Media Understanding Compression

    2 in stock

    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.

    2 in stock

    £23.60

  • C17 Standard Library Quick Reference

    APress C17 Standard Library Quick Reference

    3 in stock

    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

    3 in stock

    £35.99

  • Algorithms of Oppression

    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

  • Algorithmic Thinking, 2nd Edition: A

    No Starch Press,US Algorithmic Thinking, 2nd Edition: A

    1 in stock

    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

    1 in stock

    £35.99

  • RealWorld Algorithms A Beginners Guide

    MIT Press Ltd RealWorld Algorithms A Beginners Guide

    1 in stock

    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

    1 in stock

    £40.85

  • Cambridge University Press Design and Analysis of Algorithms

    15 in stock

    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.

    15 in stock

    £42.74

  • Modern Deep Learning for Tabular Data

    APress Modern Deep Learning for Tabular Data

    1 in stock

    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

    1 in stock

    £41.24

  • Architecture of Advanced Numerical Analysis

    APress Architecture of Advanced Numerical Analysis

    1 in stock

    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

    1 in stock

    £33.74

  • Make Your Data Speak

    APress Make Your Data Speak

    1 in stock

    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

    1 in stock

    £41.24

  • Trends in Computer Science

    Nova Science Publishers Inc Trends in Computer Science

    1 in stock

    Book Synopsis

    1 in stock

    £143.24

  • Julia for Data Science

    Technics Publications LLC Julia for Data Science

    2 in stock

    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.

    2 in stock

    £39.09

  • New Age International (UK) Ltd A Practical Approach to Data Structures and

    15 in stock

    Book Synopsis

    15 in stock

    £38.00

  • Data structures based on linear relations

    De Gruyter Data structures based on linear relations

    1 in stock

    Book Synopsis

    1 in stock

    £44.25

  • Artificial Intelligence for Data-Driven Medical

    2 in stock

    £85.12

  • Data structures based on non-linear relations and

    2 in stock

    £44.25

  • Nature-Inspired Optimization Algorithms: Recent

    De Gruyter Nature-Inspired Optimization Algorithms: Recent

    2 in stock

    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

    2 in stock

    £85.12

  • Algorithms: Design and Analysis

    De Gruyter Algorithms: Design and Analysis

    1 in stock

    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.

    1 in stock

    £39.60

  • Blockchain 3.0 for Sustainable Development

    De Gruyter Blockchain 3.0 for Sustainable Development

    1 in stock

    Book Synopsis

    1 in stock

    £85.12

  • Computer Intelligence Against Pandemics: Tools

    De Gruyter Computer Intelligence Against Pandemics: Tools

    2 in stock

    Book SynopsisThis book introduces the most recent research and innovative developments regarding the new strains of COVID-19. While medical and natural sciences have been working instantly on deriving solutions and trying to protect humankind against such virus types, there is also a great focus on technological developments for improving the mechanism – momentum of science for effective and efficient solutions. At this point, computational intelligence is the most powerful tools for researchers to fight against COVID-19. Thanks to instant data-analyze and predictive techniques by computational intelligence, it is possible to get positive results and introduce revolutionary solutions against related medical diseases. By running capabilities – resources for rising the computational intelligence, technological fields like Artificial Intelligence (with Machine / Deep Learning), Data Mining, Applied Mathematics are essential components for processing data, recognizing patterns, modelling new techniques and improving the advantages of the computational intelligence more. Nowadays, there is a great interest in the application potentials of computational intelligence to be an effective approach for taking humankind more step away, after COVID-19 and before pandemics similar to the COVID-19 many appear.

    2 in stock

    £108.38

  • (Dis)Obedience in Digital Societies: Perspectives

    Transcript Verlag (Dis)Obedience in Digital Societies: Perspectives

    1 in stock

    Book SynopsisAlgorithms are not to be regarded as a technical structure but as a social phenomenon - they embed themselves, currently still very subtle, into our political and social system. Algorithms shape human behavior on various levels: they influence not only the aesthetic reception of the world but also the well-being and social interaction of their users. They act and intervene in a political and social context. As algorithms influence individual behavior in these social and political situations, their power should be the subject of critical discourse - or even lead to active disobedience and to the need for appropriate tools and methods which can be used to break the algorithmic power.Table of Contents(Dis)obeying Algorithms? Introductory Thoughts on the Power of Algorithms and the Possible Necessity of Resisting it; The Dialectics of Dis-Obedience. Notes from the Crystal Palace; Surveillance, Artificial Intelligence and Power; Embodied Algorithmic Optimization. How Our Bodies are Becoming a Product of Code; The Lock Down City and the Utopian Program of Open Interfaces; Hacking Google Maps; The Algorithmic Construction of Space; Torn Between Autonomy and Algorithmic Management. (Dis)Obedience of Solo Self-Employed Working via Digital Platforms; A Crack in the Algorithm's Facade. A Fundamental Rights Perspective on "Efficiency" and "Neutrality" Narratives of Algorithms; When Search Engines Discriminate. The Posthuman Mimesis of Gender Bias; Discrimination by Correlation. Towards Eliminating Algorithmic Biases and Achieving Gender Equality; The Power of Algorithms and the Structural Transformation of the Digital Public; Reclaim your Face and the Streets. Why Facial Recognition, and Other Biometric Surveillance Technology in Public Spaces, Should be Banned; Identity 5.0: How to Fight Algorithms Online (Fast). Heuristic Compressions of Personality Concepts (Dis)Obedient to Algorithmic Powerfrom Film, Television and a Cult Classic Novel; About the Authors.

    1 in stock

    £28.04

  • Design and Analysis of Algorithms

    PHI Learning Design and Analysis of Algorithms

    1 in stock

    Book SynopsisThis book focuses on the standard algorithm design methods and the concepts are illustrated through representative examples to offer a ready text.

    1 in stock

    £10.00

  • Contemporary Algorithms: Theory and Applications

    Nova Science Publishers Inc Contemporary Algorithms: Theory and Applications

    2 in stock

    Book Synopsis

    2 in stock

    £163.19

  • Nova Science Publishers Inc A Guide to Design and Analysis of Algorithms

    1 in stock

    Book Synopsis

    1 in stock

    £62.04

  • Oxford University Press DATADRIVEN MODELING SCIENTIFIC COMP C Methods for Complex Systems Big Data

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £117.50

  • Boosting

    Penguin Random House LLC Boosting

    15 in stock

    15 in stock

    £47.53

  • Springer Symplectic Methods for the Symplectic Eigenproblem

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £85.49

  • Springer Communications and Multimedia Security

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £85.49

  • Springer Mathematical Masterpieces

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £44.99

  • Springer Knowledge and Data Management in Grids

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £123.49

  • Springer New York Number Theory

    15 in stock

    Book SynopsisThis book deals with several aspects of what is now called "explicit number theory." The local aspect, global aspect, and the third aspect is the theory of zeta and L-functions.Trade ReviewFrom the reviews:"Cohen (Université Bordeaux I, France), an instant classic, uniquely bridges the gap between old-fashioned, naive treatments and the many modern books available that develop the tools just mentioned … . Summing Up: Recommended. … Upper-division undergraduates through faculty." (D. V. Feldman, CHOICE, Vol. 45 (5), January, 2008)"The book deals with aspects of ‘explicit number theory’. … The central theme … is the solution of Diophantine equations. … It combines an interesting ‘philosophy’ of the subject with an encyclopedic grasp of detail. The extension of the author’s reach via the contributed chapters is a good idea. Perhaps it is the start of a trend, as the subject grows more and more. … It will undoubtedly be mined by instructors for their graduate courses, particularly for the purpose of including some recently-proved content." (R. C. Baker, Mathematical Reviews, Issue 2008 e)“This is the second volume of a highly impressive two-volume textbook on Diophantine analysis. … readers are presented with an almost overwhelming amount of material. This … text book is bound to become an important reference for students and researchers alike.” (C. Baxa, Monatshefte für Mathematik, Vol. 157 (2), June, 2009)Table of ContentsAnalytic Tools.- Bernoulli Polynomials and the Gamma Function.- Dirichlet Series and L-Functions.- p-adic Gamma and L-Functions.- Modern Tools.- Applications of Linear Forms in Logarithms.- Rational Points on Higher-Genus Curves.- The Super-Fermat Equation.- The Modular Approach to Diophantine Equations.- Catalan’s Equation.

    15 in stock

    £44.99

  • Springer The BurrowsWheeler Transform Data Compression Suffix Arrays and Pattern Matching

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £85.49

  • Springer Complexity Theory Retrospective II

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £44.99

© 2026 Book Curl

    • American Express
    • Apple Pay
    • Diners Club
    • Discover
    • Google Pay
    • Maestro
    • Mastercard
    • PayPal
    • Shop Pay
    • Union Pay
    • Visa

    Login

    Forgot your password?

    Don't have an account yet?
    Create account