0% found this document useful (0 votes)
10 views14 pages

DSA Unit 1

Unit 1 of the DSA course covers the fundamentals of data structures, including definitions, types, and operations. It distinguishes between abstract data types (ADT) and concrete data structures, emphasizing their roles in programming. The unit also introduces arrays, their types, and provides examples of one-dimensional arrays in C programming.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views14 pages

DSA Unit 1

Unit 1 of the DSA course covers the fundamentals of data structures, including definitions, types, and operations. It distinguishes between abstract data types (ADT) and concrete data structures, emphasizing their roles in programming. The unit also introduces arrays, their types, and provides examples of one-dimensional arrays in C programming.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 14

DSA:Unit 1

Prepared by
Gobinda subedi
For BIT, KIST
Prerequisite
• Knowledge of C
• From the point of exam, students should be
familiar with algorithm and functions fluently.
Contents Of Unit 1
• Information and its meaning of Date Structure
• Abstract Data Type
• ADT VS DS
• Array in C
• The array as an ADT
• One dimensional array
• Two dimensional array
• Multidimensional array
Introduction
• What is data structure?
A data structure is an arrangement of data in a
computer’s memory (or sometimes on a disk) so
that it can be used efficiently. Data structures
include arrays, linked lists, stacks, binary trees, and
hash tables, among others.
• What is an Algorithm?
Algorithms manipulate the data in these
structures in various ways, such as searching for a
particular data item and sorting the data.
Introduction contd..
• Data structures are the building blocks of a program.
• Data structure mainly specifies the following four things:
 Organization of data.
 Accessing methods
 Degree of associativity
 Processing alternatives for information
• To develop a program from an algorithm, we should select
an appropriate data structure for that algorithm.
Therefore algorithm and its associated data structures
form a program.
• Hence, we can say that
 Algorithm + Data structure = Program
Introduction contd..
• Data structure can be thought of in two basic
ways:
A static data structure is one whose capacity is
fixed at creation. For example, array.
A dynamic data structure is one whose capacity is
variable, so it can expand or contract at any time.
For example, linked list, binary tree etc.
Data Structure type
• Data structure can be divided into two types:
Linear Data Structure: When the data is stored in
the memory in the memory in linear or sequential
form is called linear data structure. Examples
include Array, Stack, Queue etc.
Non linear Data Structure: When the data is
stored in the memory in disperse or non-
sequential order is called non linear data
structure. Example includes trees, graphs files etc.
Classification of Data Structure
Data Operation Operations
• Operations are used to process the data appearing in
the data structure. Following are the some of the
operations used frequently:
Traversing: Accessing each record exactly once so that
certain items in the record may be processed.
Searching: Finding the location of the record with the given
key value.
Inserting: Adding a new record
Deleting : Removing a record.
Sorting: Arranging the records in some logical order.
Merging: Combining the records in two different file into a
single file.
Abstract Data Type (ADT)
• Abstract data type (ADT) is a specification of a
set of data and the set of operations that can
be performed on the data. A set of data values
and associated operations that are precisely
specified independent of any particular
implementation.
• Real life example:
Book is Abstract (Telephone Book is an
implementation)
ADT vs DS
• ADT is a logical description and data structure is concrete. ADT is
the logical picture of the data and the operations to manipulate
the component elements of the data. Data structure is the
actual representation of the data during the implementation and
the algorithms to manipulate the data elements. ADT is in the
logical level and data structure is in the implementation level.
 ADT is implementation independent. For example, it only describes
what a data type List consists (data) and what are the operations it
can perform, but it has no information about how the List is actually
implemented.
 Whereas data structure is implementation dependent, as in the same
example, it is about how the List implemented i.e., using array or
linked list. Ultimately, data structure is how we implement the data in
an abstract data type.
Overview of Array
• Arrays a kind of data structure that can store a fixed-
size sequential collection of elements of the same
type. An array is used to store a collection of data,
but it is often more useful to think of an array as a
collection of variables of the same type.
• All arrays consist of contiguous memory locations.
The lowest address corresponds to the first element
and the highest address to the last element.
Types of Array
• One dimensional array:
 The elements of the array can be represented either as a single column
or as a single row.
• Declaring one-dimensional array:
 data_type array_name[size];
• Following are some valid array declarations:
 float weight[50];
 int marks[100];
 int age[15];
• Array Initialization (1-D):
• The general format of array initialization is:
 data_type array_name[size]={element1,element2,…………..,element n};
• #include <stdio.h>
• int main ()
{
int n[ 10 ]; /* n is an array of 10 integers */
int i,j; /* initialize elements of array n to 0 */
for ( i = 0; i < 10; i++ )
{
n[ i ] = i + 100; /* set element at location i to i + 100 */
}
/* output each array element's value */
for (j = 0; j < 10; j++ )
{
printf("Element[%d] = %d\n", j, n[j] );
}
return 0;
}

You might also like