0% found this document useful (0 votes)
17 views4 pages

Algorithm and Data Structure Lecture 1a

Uploaded by

insprimov
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
0% found this document useful (0 votes)
17 views4 pages

Algorithm and Data Structure Lecture 1a

Uploaded by

insprimov
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 4

DATA STRUCTURE

A data structure is a specialized format for organizing, processing,


retrieving, and storing data. It provides a means to manage large amounts
of data efficiently for various applications, such as databases, operating
systems, and software engineering. Different data structures are suited to
different kinds of applications, and some are highly specialized to specific
tasks.
Here are key concepts and types of data structures:
Basic Concepts
1. Abstract Data Type (ADT): This is a theoretical concept that
defines data and the operations that can be performed on it. An ADT
specifies what is to be done but not how it is to be implemented.
Common ADTs include List, Stack, Queue, Set, and Map.
2. Operations: Data structures support various operations such as
insertion, deletion, traversal, searching, and sorting. The efficiency
of these operations depends on the structure used.
3. Complexity: Data structures are evaluated based on their time and
space complexity, which refers to the amount of time and memory
required to perform operations. This is often expressed using Big O
notation.
Types of Data Structures
1. Primitive Data Structures: These are the basic structures built
into a programming language, such as integers, floats, characters,
and pointers.
2. Non-Primitive Data Structures: These are more complex and are
built from primitive data structures. They are further classified into:
 Linear Data Structures: Elements are arranged in a
sequential manner.
 Arrays: A collection of elements identified by index or
key. Arrays are fixed in size.
 Linked Lists: A sequence of nodes where each node
contains data and a reference to the next node. Types
include singly, doubly, and circular linked lists.
 Stacks: LIFO (Last In, First Out) structure where
elements are added and removed from the same end.
 Queues: FIFO (First In, First Out) structure where
elements are added at the rear and removed from the
front. Variants include circular queues, priority queues,
and double-ended queues (deques).
 Non-Linear Data Structures: Elements are not arranged in
a sequential manner.
 Trees: Hierarchical structure consisting of nodes with a
parent-child relationship. Common types include binary
trees, binary search trees, AVL trees, and B-trees.
 Graphs: A set of nodes connected by edges. Graphs can
be directed or undirected, and can contain cycles
(cyclic) or not (acyclic). Common algorithms for graphs
include DFS, BFS, Dijkstra’s, and A*.
3. Hash-based Data Structures: Use a hash function to map keys to
values for efficient lookup.
 Hash Tables: Provide fast access to elements via keys.
Collisions are handled through chaining or open addressing.
4. Specialized Data Structures:
 Heaps: A specialized tree-based structure that satisfies the
heap property. Used to implement priority queues.
 Trie: A tree-like structure used to store associative data
structures. Useful for tasks like autocomplete and spell
checking.
 Disjoint Set: Also known as union-find, helps manage a
partition of a set into disjoint subsets. Useful in network
connectivity and Kruskal’s algorithm.
Choosing the Right Data Structure
The choice of data structure depends on various factors:
 Nature of the operations: Whether the operations require fast
access, insertion, deletion, or search.
 Memory usage: Some data structures are more memory-efficient
than others.
 Ease of implementation: Simplicity can be an important factor,
especially for smaller or less critical applications.
 Application requirements: Specific requirements such as order
maintenance, hierarchical representation, or associative mapping
guide the selection.
IMPORTANT CONCEPTS
1. Data Attributes: Data attributes are properties or characteristics
of data that describe its features, qualities, or characteristics. These
attributes provide information about the data itself, such as its type,
size, format, or other relevant details.
2. Name: The name of a data attribute is simply the identifier or label
given to that specific attribute. It helps distinguish one attribute
from another and provides a means to reference or access it. For
example, in a dataset of students, attributes might include "Name",
"Age", "Grade", etc. "Name" would be the attribute name referring
to the students' names.
3. Value Range: The value range of a data attribute specifies the set
of all possible values that the attribute can take. It defines the
boundaries within which valid values for that attribute lie. For
example, if we have an attribute "Age", the value range might be
from 0 to 120 (assuming it represents age in years). Understanding
the value range is crucial for validating data and ensuring its
integrity.
4. Data Types: Data types define the nature of the values that a data
attribute can hold. They specify the kind of data that can be stored
and the operations that can be performed on it. Common data types
include:
 Numeric: Data representing numbers. This can further be
subdivided into integer, floating-point, or decimal types.
 Text/String: Data representing textual information, such as
names, addresses, or any other alphanumeric characters.
 Boolean: Data representing true or false values.
 Date/Time: Data representing dates, times, or both.
 Binary: Data representing binary information, often used for
images, files, or other non-textual data.
 Enumerated: Data that can only take on certain predefined
values from a specified list or set.
ORGANIZING AND MANAGING DATA
1. Data: In the context of information technology, data refers to raw
facts, figures, and symbols. It could be anything from numbers and
text to multimedia files.
2. Character: A character is the smallest unit of data in computing. It
typically represents a single letter, digit, or symbol, like 'A', '7', or
'%'.
3. Field: A field is a unit of data that represents an attribute or
characteristic of an entity. For example, in a database of employees,
fields might include Name, Age, and Salary.
4. Subfield: A subfield is a smaller division within a field. It is often
used when a field contains complex or structured data. For instance,
within the Address field, subfields might include Street, City, State,
and Zip Code.
5. Record: A record is a collection of related fields that represent a
single entity or transaction. In a database of employees, each record
would contain all the information about one employee, such as their
Name, Age, and Salary.
6. File: A file is a collection of related records. It is a basic unit for
organizing and storing data on a computer system. Files can store
various types of information, from text documents to multimedia
files.

You might also like