Computer Science
Data Structures
Data structures are a way of organizing and storing data in a computer so that it can be accessed and used efficiently. They provide a means to manage large amounts of data and enable efficient algorithms to be developed for processing and manipulating that data. Common examples of data structures include arrays, linked lists, and trees.
Written by Perlego with AI-assistance
Related key terms
1 of 5
10 Key excerpts on "Data Structures"
- No longer available |Learn more
Data Structures and Program Design Using C
A Self-Teaching Introduction
- D. Malhotra, N. Malhotra(Authors)
- 2018(Publication Date)
- Mercury Learning and Information(Publisher)
C H A P T E R 1 INTRODUCTION TO Data Structures In This Chapter ● ● Introduction ● ● Types of Data Structures ● ● Operations on Data Structures ● ● Algorithms ● ● Approaches for designing an algorithm ● ● Analyzing an algorithm ● ● Abstract data types ● ● Big O notation ● ● Summary 1.1 Introduction A data structure is an efficient way of storing and organizing the data elements in the computer memory. Data means a value or a col- lection of values. Structure refers to a method of organizing the data. The mathematical or logical representation of data in the memory is referred as a data structure. The objective of a data structure is to store, retrieve, and update the data efficiently. A data structure can be referred 2 • Data Structures AND PROGRAM DESIGN USING C to as a group of elements grouped under one name. The group of data elements is called members, and they can be of different types. Data Structures are used in almost every program and software system. There are various kinds of Data Structures that are suited for different types of applications. Data Structures are the building blocks of a program. For a program to run efficiently, a programmer must choose appropriate Data Structures. A data structure is a very crucial part of data management. As the name suggests, data management is a task which includes differ- ent activities like collection of data, an organization of data into struc- tures, and much more. Some examples where Data Structures are used include stacks, queues, arrays, binary trees, linked lists, hash tables, and so forth. A data structure helps us to understand the relationship of one element to another element and organize it within the memory. It is a mathematical or logical representation or organization of data in memory. - eBook - PDF
- Anil Kumar Yadav, Vinod Kumar Yadav(Authors)
- 2019(Publication Date)
- Arcler Press(Publisher)
Data Structures 1 CHAPTER CONTENTS 1.1. Introduction ........................................................................................ 2 1.2. Data Structure Basic Terminology ....................................................... 2 1.3. Data Structure ..................................................................................... 3 1.4. Introduction To Algorithm ................................................................... 8 1.5. Basic Concept of Function ................................................................ 13 1.6. Basic Concept of Pointers ................................................................. 19 1.7. Introduction To Structure ................................................................... 22 1.8. Dynamic Memory Allocation In Data Structure ................................. 28 Data Structures with C Programming 2 1.1. INTRODUCTION In the Computer Programming or Software development, Data Structures is one of the most valuable roles for computer engineers. Use of appropriate Data Structures enables a computer system to perform its task more efficiently, by influencing the ability of computers to store and retrieve data from any location in its memory. A data structure is a method of how storing data on a computer so that it can be used efficiently. In Computer Programming we are using different types of data to perform, store, access and sent data and information. Computers cannot do without data, so organizing that data is very important. If that data is not organized effectively, it is very difficult to perform any task on that data. If it is organized effectively then any operation can be performed easily on that data. 1.2. DATA STRUCTURE BASIC TERMINOLOGY 1.2.1. Data and Data Types Data are a group of specific facts, numbers, character, and figures. A data item refers to a single unit of values. Data is an unprocessed form of information. - eBook - PDF
- Pat Morin(Author)
- 2013(Publication Date)
- AU Press(Publisher)
Chapter 1 Introduction Every computer science curriculum in the world includes a course on Data Structures and algorithms. Data Structures are that important; they im-prove 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 inter-act 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 favourite 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 1 §1.1 Introduction 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 mak-ing the call may not be able to provide the exact address they are calling from and a delay can mean the di ff erence between life or death. - eBook - PDF
Algorithms and Theory of Computation Handbook, Volume 1
General Concepts and Techniques
- Mikhail J. Atallah, Marina Blanton(Authors)
- 2009(Publication Date)
- Chapman and Hall/CRC(Publisher)
4 Basic Data Structures ∗ Roberto Tamassia Brown University Bryan Cantrill Sun Microsystems, Inc. 4.1 Introduction ..................................................... 4 -1 Containers, Elements, and Locators • Abstract Data Types • Main Issues in the Study of Data Structures • Fundamental Data Structures • Organization of the Chapter 4.2 Sequence .......................................................... 4 -4 Introduction • Operations • Implementation with an Array • Implementation with a Singly-Linked List • Implementation with a Doubly-Linked List 4.3 Priority Queue ................................................... 4 -6 Introduction • Operations • Realization with a Sequence • Realization with a Heap • Realization with a Dictionary 4.4 Dictionary ........................................................ 4 -11 Operations • Realization with a Sequence • Realization with a Search Tree • Realization with an ( a,b )-Tree • Realization with an AVL-Tree • Realization with a Hash Table 4.5 Further Information ........................................... 4 -23 Defining Terms ......................................................... 4 -24 References ................................................................ 4 -25 4.1 Introduction The study of Data Structures, i.e., methods for organizing data that are suitable for computer process-ing, is one of the classic topics of computer science. At the hardware level, a computer views storage devices such as internal memory and disk as holders of elementary data units (bytes), each accessible through its address (an integer). When writing programs, instead of manipulating the data at the byte level, it is convenient to organize them into higher level entities, called Data Structures. 4.1.1 Containers, Elements, and Locators Most Data Structures can be viewed as containers that store a collection of objects of a given type, called the elements of the container. - eBook - PDF
- Markus Knasmüller(Author)
- 2003(Publication Date)
- Morgan Kaufmann(Publisher)
4 Data Structures and Algorithms Now that we have introduced static Data Structures as well as dynamic Data Structures (also called pointers; see Section 3.7), this chapter deals more intensively with that subject. Dynamic Data Structures are important, because the only way to create objects in object-oriented programming is to create them dynamically. This chapter begins with a discussion of data abstraction, which will help you understand the concept of an object-oriented class easily, then discusses algorithms that use dynamic Data Structures. Although such algo-rithms can also be used in COBOL, experience has shown that they rarely are, especially by programmers who made their way into the COBOL world through a crash course from a different discipline, where they did not get a chance to work with any programming language intensively. This chapter is particularly important for those who feel addressed by this statement. 4.1 Abstract Data Types The tutorial shows a few preparatory steps for how programmers can create their own data types. Our discussion concentrates less on syntactic details (which have been dealt with in Section 3.4.1) than on how this operation works efficiently from the contents point of view. We know that data types are normally made available to various other programs. Therefore, the Intensive dealing with pointers 108 Chapter 4 Data Structures and Algorithms client needs to know only the essential things about the data type. In most cases, no detailed knowledge is required. Behind this concept is the term abstraction. The abstract data structure and abstract data type build on this abstraction. 4.1.1 Term: Abstraction The term abstraction is interpreted as a generalization that allows us to better handle the complexity of a program. We can neglect unnecessary details and concentrate more on the essentials. The following two exam-ples explain this concept. Our first example uses a CD player, which all of us are familiar with. - eBook - PDF
Foundations of Data Intensive Applications
Large Scale Data Analytics under the Hood
- Supun Kamburugamuve, Saliya Ekanayake(Authors)
- 2021(Publication Date)
- Wiley(Publisher)
C H A P T E R 107 4 Every program that does meaningful work deals with Data Structures. Whether it is a large-scale distributed application or a serial program running in the cluster, we can find Data Structures everywhere. The simplest data types we use are primitive types such as integers and doubles. Computers are designed to work on such fundamental data by loading them into special hardware units inside CPUs called registers wherein they make decisions and perform arithmetic operations. Utilizing simple primitive types in computing is an efficient and well- documented endeavor these days. Compilers supply excellent support to opti-mize operations involving them. But a complex program cannot rely solely on just simple types to meet its data needs. To represent complex data, composite types are created from their less complicated brethren. Examples of such are present in any programming language. In C we program with structs, while in Java or C++, we program classes to create composite types. An array is another composite data structure widely used in computing. An array has multiple values of the same type in a contiguous space in memory. The individual value of an array can be accessed using an index and can be of multiple dimensions, making it extremely efficient. When we deal with substantial amounts of data, we need to use data struc-tures that can hold them as composite forms. It all boils down to how efficient a data structure is in terms of access speed and storage. Different application classes have found certain Data Structures to be best suited for their use cases. Data Structures 108 Chapter 4 ■ Data Structures Application frameworks designed to work on these application classes natu-rally choose the most productive data representations. For example, big data frameworks prefer table Data Structures to store the data, while deep learning frameworks tend to use tensors. - eBook - ePub
Memory and the Computational Brain
Why Cognitive Science will Transform Neuroscience
- C. R. Gallistel, Adam Philip King(Authors)
- 2011(Publication Date)
- Wiley-Blackwell(Publisher)
9 Data StructuresWe come now to consider the architectural aspect of a full-powered (Turing complete) computing device that gives the symbol processing-machinery unrestricted access to the information-carrying symbols in its memory. The key to such unrestricted access is an addressable read/write memory – memory that can be located, read from, and written to. The architecture must be capable of symbolizing its own memory locations (addresses) using encoding symbols. That is, the machine must have a representation of its memory locations, making it possible to encode the relations between symbols (forming more complex symbols) by virtue of the symbols’ relation to one another within the memory. This same aspect of the architecture allows for the creation of new symbols – symbols that aren’t present in the system at its inception.Memory structures in which the relations between symbols are encoded via their topological relationships within memory are what computer scientists call Data Structures. As we discussed in Chapter 5, a data structure is a complex symbol. Its constituents are themselves symbols. The referent of the data structure is determined by the referents of its constituents and the syntactic (physical) relation between them.A minimal example of a data structure is an integer encoded in binary. Each bit serves to indicate a power of two, and which power of two is indicated by the relative position of the bits. What makes this a data structure, as opposed to being simply an encoding symbol, is that it is composed of symbols (the bits) that are placed in topological relation to each other (a linear order). Which bits are where within the string determines the referent. Contrast this to an encoding where an integer is encoded using an analog property such as the number of molecules in a “bag.” Here, the symbol is still an encoding symbol as the referent can be determined by a compact procedure (simply “weigh” the bag). However, as the symbol has no constituent structure, combinatorial syntax becomes impossible. Trying to form more complex symbols using this technique becomes problematic (Fodor & Pylyshyn, 1988). - eBook - PDF
Fundamentals of Python
Data Structures
- Kenneth Lambert(Author)
- 2018(Publication Date)
- Cengage Learning EMEA(Publisher)
C H A P T E R 4 Arrays and Linked Structures After completing this chapter, you will be able to: Create arrays Perform various operations on arrays Determine the running times and memory usage of array operations Describe how costs and benefits of array operations depend on how arrays are represented in computer memory Create linked structures using singly linked nodes Perform various operations on linked structures with singly linked nodes Describe how costs and benefits of operations on linked structures depend on how they are represented in computer memory Compare the trade-offs in running time and memory usage of arrays and linked structures Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s). Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. 90 Arrays and Linked Structures C H A P T E R 4 The terms data structure and concrete data type refer to the internal representation of a collection’s data. The two Data Structures most often used to implement collections in programming languages are arrays and linked structures. These two types of structures take different approaches to storing and accessing data in the computer’s memory. These approaches in turn lead to different space/time trade-offs in the algorithms that manipulate the collections. This chapter examines the data organization and concrete details of processing that are particular to arrays and linked structures. Their use in implementing various types of collections is discussed in later chapters. The Array Data Structure An array represents a sequence of items that can be accessed or replaced at given index positions. - eBook - PDF
- Keith Weiskamp(Author)
- 2014(Publication Date)
- Academic Press(Publisher)
SECTION Data Structures Developing techniques for representing information in a program is both a science and an art. To create programs for solving real-world problems, we must constantly be on the lookout for methods of representing data. The tools we use for representing data are commonly called Data Structures, and without them, our programs would be about as functional as houses without closets, cabinets, and garages. As programs become more complex and their execution speed becomes more critical, it becomes essential that we use the most efficient Data Structures possible. Fortunately, QuickC is an ideal language for building powerful and versatile Data Structures. In Section 2, we'll explore many techniques for developing useful Data Structures with QuickC. We'll look at both static Data Structures—structures that do not change during program execution—and dynamic Data Structures— structures that can grow and shrink as a program is executed. Designing the best data structure for an application is often the key to programming success. To help you construct both basic and complex Data Structures, and select the best data structure for an application, this section takes you through the step-by-step process of developing, using, debugging, and modifying Data Structures. In the third chapter, we'll start with the basic building blocks, and then we'll present 57 2 some useful techniques for representing static data. We'll also cover in detail the techniques for building dynamic linked lists. In Chapter 4, we'll turn our attention to doubly linked lists, stacks, and queues. As a bonus, we'll develop a general purpose string list package which provides a complete set of string processing features. To round out Section 2, we'll examine binary trees and develop an expression evaluator program that employs many of the Data Structures developed throughout this section. - eBook - PDF
- Bozzano G Luisa(Author)
- 2014(Publication Date)
- Elsevier Science(Publisher)
CHAPTER 6 Data Structures K. MEHLHORN Fachbereich 14, Informatik, Universität des Saarlandes, D-6600 Saarbrücken, FRG A. TSAKALIDIS Department of Computer Engineering and Informatics, University of Patras, 26500 Patras, Greece, and Computer Technology Institute, P.O. Box 1122, 26110 Patras, Greece Contents 1. Introduction 303 2. The dictionary problem 305 3. The weighted dictionary problem and self-organizing Data Structures 319 4. Persistence 323 5. The Union-Split-Find problem 324 6. Priority queues 326 7. Nearest common ancestors 328 8. Selection 329 9. Merging 331 10. Dynamization techniques 332 References 334 HANDBOOK OF THEORETICAL COMPUTER SCIENCE Edited by J. van Leeuwen © Elsevier Science Publishers B.V., 1990 This page intentionally left blank D A T A S T R U C T U R E S 303 1. Introduction Data structuring is the study of concrete implementations of frequently occurring abstract data types. An abstract data type is a set together with a collection of operations on the elements of the set. We give two examples for the sake of concreteness. In the data type dictionary the set is the powerset of a universe U, and the operations are insertion and deletion of elements and the test of membership. A typical application of dictionaries are symbol tables in compilers. In the data type priority queues the set is the powerset of an ordered universe U and the operations are insertion of elements and finding and deleting the minimal element of a set. Priority queues arise frequently in network optimization problems, see, e.g. Chapter 10 on graph algorithms (this Handbook). This chapter is organized as follows. In Sections 2 and 3 we treat unweighted and weighted dictionaries respectively. The Data Structures discussed in these sections are ephemeral in the sense that a change to the structure destroys the old version, leaving only the new version available for use.
Index pages curate the most relevant extracts from our library of academic textbooks. They’ve been created using an in-house natural language model (NLM), each adding context and meaning to key research topics.









