Вы находитесь на странице: 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
 student.feedback@sti.edu Page 1 of 1

Вам также может понравиться