Concepts in Computer Science
Concepts in Computer Science
What is Program?
A program is a set of instructions written in a programming language to perform a specific
task. It is a practical implementation of algorithms to solve real-world problems on a
computer.
What is Algorithm?
An algorithm is a step-by-step procedure or formula for solving a problem. It is a well-
defined computational process that takes some input and produces an output.
What is Data?
Data refers to raw facts or figures that have no context or meaning on their own. For
example, numbers, text, images, or other forms of unprocessed information.
What is the relation among data, data structure, algorithm, and program?
Data is the raw material that needs to be processed. Data structures organize this data in a
meaningful way. Algorithms define the step-by-step procedure to manipulate or process the
data. Programs implement these algorithms using data structures to solve specific
problems.
What are various advanced data structures which support methods discussed
above?
Some advanced data structures that support algorithm design include:
1. Trees (e.g., AVL Tree, Red-Black Tree, B-Trees)
2. Graphs (e.g., Adjacency Matrix, Adjacency List)
3. Hash Tables
4. Priority Queues (e.g., Binary Heap, Fibonacci Heap)
5. Disjoint Set Union (Union-Find)
6. Segment Trees and Fenwick Trees
7. Suffix Trees and Suffix Arrays