Chapter 11

Introduction to Applications

Objective 11.1 Part III elucidates the applications of the data structures discussed earlier chapters covering networks, the WWW, DBMS, cryptography, graphics machine learning, operating systems, and other topics. Part III covers recent advances in applications of data structures to all these important computer science areas.

11.1  Various Domain Applications

Chapter 12 addresses applications of data structures to cryptographic techniques. The chapter includes three case studies and describes the use of hash collision as a cryptographic function and hashing for password verification.

Chapter 13 focuses applying data structures to the World Wide Web. It covers uses of tries and skiplists to create inverted indices along with case studies on splay trees, URL hashing for lookup functions, and various string data structures used for semantic alignments.

Applications of data structures to networks and communications are the subjects of Chapter 15. The contents include applications of binomial heaps in network algorithms and acceleration of union and merger operations. Bloom filters for optimizing caches in proxy servers and as summary vectors in ad hoc networks are described. A case study on disjoint sets for greedy algorithms is included.

Chapter 17 details the ways data structures are used for databases, specifically indexing and block searching functions of B trees, B+ trees, and BSTs. The section dedicated to buffer trees explores access paths and other aspects of database management. The final section explains applications of bloom filter join methods for query processing in distributed databases.

Chapter 14 explores machine learning applications such as use of KD tree structures in multidimensional searches, a case study of locality-sensitive hashing (LSH) in nearest neighbor searches and the Nystrom method for generating low-rank matrix operations in learning applications.

Chapter 18 addresses image processing and graphics. It discusses R trees used for spatial indexing and storing geometric and multi-dimensional data in geographic information systems and other trees for handling region searches and predictive queries. The final section covers ray shooting.

Chapter 16 covers applications of data structures in operating and communication systems and includes case studies on caching queues in paging systems, cache size management, and optimizing techniques. It includes case studies on sketching for heavy hitters and sampling and histogram creation for optical signal monitoring.

11.2  Project

Project 11.1 — Artificial mind of a machine Creating an artificial mind for a computing system requires the installation in modules of data structures and algorithms designed to perform the needed functions based on the steps below:

1.Gather data to be processed by machine and store it; design system to perform organized retrieval.

2.Create domain ontology (concept hierarchies).

3.Model interaction of machine with environment.

4.Model interaction of machine with user.

5.Model decision problems to capabilities of machine.

6.Design machine learning algorithm and train it on past instances(may be simulated).

7.Test and re-train adaptively.