0% found this document useful (0 votes)
1K views1 page

Fundamentals of Data Structures and Algorithms Data Structures Algorithm

The document discusses fundamentals of data structures and algorithms. It defines data structures as special formats for organizing data and describes linear and non-linear data structures. An abstract data type is a logical description of how data is viewed and operations allowed on it. Common data types include linked lists, stacks, queues, trees, priority queues, heaps, sets, maps and graphs. The document also defines an algorithm as a set of steps to solve a problem and lists characteristics such as being finite, definite, and having inputs and outputs. Elements of an algorithm include sequential operations, actions based on data state, iteration and recursion. Algorithm design paradigms include divide-and-conquer, greedy algorithms and dynamic programming.

Uploaded by

CHERYL IBARRETA
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views1 page

Fundamentals of Data Structures and Algorithms Data Structures Algorithm

The document discusses fundamentals of data structures and algorithms. It defines data structures as special formats for organizing data and describes linear and non-linear data structures. An abstract data type is a logical description of how data is viewed and operations allowed on it. Common data types include linked lists, stacks, queues, trees, priority queues, heaps, sets, maps and graphs. The document also defines an algorithm as a set of steps to solve a problem and lists characteristics such as being finite, definite, and having inputs and outputs. Elements of an algorithm include sequential operations, actions based on data state, iteration and recursion. Algorithm design paradigms include divide-and-conquer, greedy algorithms and dynamic programming.

Uploaded by

CHERYL IBARRETA
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

IT1815

FUNDAMENTALS OF DATA STRUCTURES AND ALGORITHMS • The four (4) main operations that could be defined for each
ADT are initializing, adding, accessing, and removing of data.
Data Structures
• A data structure is a special format for storing and organizing Algorithm
data. • An algorithm is a step-by-step set of instructions to be
• Two (2) types of data structure: executed in sequence for solving a problem.
o Linear: Elements are accessed in a sequential order • Characteristics of an algorithm:
but may be stored unsystematically. o Finiteness: An algorithm must terminate after a
o Non-Linear: Elements are stored and accessed in a specified number of steps.
non-sequential order. o Definiteness: Each instruction has to be clear and
• An abstract data type (ADT) is a logical description of how unambiguous.
data is viewed as well as the operations that are allowed o Input: An algorithm should have zero or more well-
without regard to how they will be implemented. defined data given before the algorithm begins.
• Benefits of using ADT: o Output: An algorithm must have one (1) or more
o Code is easier to understand. results, with specified relation to the input.
o Implementations of ADTs can be changed without o Uniqueness: The result of each step depends on the
requiring changes to the program that uses the ADTs. input and/or the result of the previous step.
o ADTs can be used in future programs. • Elements of an algorithm:
• Two (2) parts of ADT: o Sequential operations
o Public or external – the data and the operations o Actions based on the state of a data structure
o Private or internal – the representation and the o Iteration – repeating an action multiple times
implementation o Recursion – when a function calls itself once or
• Abstract data types: multiple times to solve a problem
o Linked list is used for storing elements where each is • Algorithm design paradigms:
a separate object. o Divide and Conquer – breaking a problem into smaller
o Stack is an ordered list in which insertion and deletion subproblems
are done at one (1) end. o Greedy Algorithms – always chooses the optimal
o Queue is an ordered list in which insertion and deletion approach in solving a problem
are done at separate ends. o Dynamic Programming – similar to divide and
o Tree represents a hierarchical nature of a structure in a conquer except that the results of the subproblems are
graphical form. reused for overlapping subproblems
o Priority queue is used for retrieving and removing
either the minimum or maximum element. References:
Karumanchi, N. (2017). Data structures and algorithms made easy. Hyderabad:
o Heap is a partially sorted binary tree. CareerMonk Publications.
o Set represents a collection of elements that do not have Lee, K. and Hubbard, S. (2015). Data structures and algorithms with Python. Cham:
to be in order. Springer International Publishing Switzerland.
o Map is a set of ordered pairs with elements known as Runestone Academy (n.d.). Citing sources. Retrieved from
https://interactivepython.org/runestone/static/pythonds/index.html
key and value.
o Graph consists of a set of points/nodes (vertices) and
set of links (edges) which connects the pairs of vertices.
01 Handout 1 *Property of STI
[email protected] Page 1 of 1

You might also like