Open Data Structures (in Java)

Recommended

Introduction

Every computer science curriculum in the world includes a course on data structures and algorithms. Data structures are that important; they improve our quality of life and even save lives on a regular basis. Many multi-million and several multi-billion dollar companies have been built around data structures.

How can this be? If we stop to think about it, we realize that we interact with data structures constantly.

• Open a file: File system data structures are used to locate the parts of that file on disk so they can be retrieved. This isn’t easy; disks contain hundreds of millions of blocks. The contents of your file could be stored on any one of them.

• Look up a contact on your phone: A data structure is used to look up a phone number in your contact list based on partial information even before you finish dialing/typing. This isn’t easy; your phone may contain information about a lot of people—everyone you have ever contacted via phone or email—and your phone doesn’t have a very fast processor or a lot of memory.

• Log in to your favorite social network: The network servers use your login information to look up your account information. This isn’t easy; the most popular social networks have hundreds of mil- lions of active users.

• Do a web search: The search engine uses data structures to find the web pages containing your search terms. This isn’t easy; there are over 8.5 billion web pages on the Internet and each page contains a lot of potential search terms.

• Phone emergency services (9-1-1): The emergency services network looks up your phone number in a data structure that maps phone numbers to addresses so that police cars, ambulances, or fire trucks can be sent there without delay. This is important; the person making the call may not be able to provide the exact address they are calling from and a delay can mean the difference between life or death.

Attribution

Copyright: Open Data Structures

This work is licensed under the Creative Commons Attribution License. (https://creativecommons.org/licenses/by/2.5/ca/).

VP Flipbook Maker

This is a book displayed with VP Online flipbook maker. It is a tool support converting document to digital flipbook, and also creating flipbook according to our needs. Try it now!