Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

DSA Unit I 2 Marks

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

UNIT -I

1) What is OOPS?

OOPS is abbreviated as Object Oriented Programming system in which programs


are considered as a collection of objects. Each object is nothing but an instance
of a class.

2) Write basic concepts of OOPS?

Following are the concepts of OOPS:

1. Abstraction
2. Encapsulation
3. Inheritance
4. Polymorphism

3) What is a class?

A class is simply a representation of a type of object. It is the


blueprint/plan/template that describes the details of an object.

4) What is an Object?

An object is an instance of a class. It has its own state, behavior, and identity.

5) What is Encapsulation?

Encapsulation is an attribute of an object, and it contains all data which is hidden.


That hidden data can be restricted to the members of that class.

Levels are Public, Protected, Private, Internal, and Protected Internal.

6) What is Polymorphism?

1
Polymorphism is nothing but assigning behavior or value in a subclass to
something that was already declared in the main class. Simply, polymorphism
takes more than one form.

7) What is Inheritance?

Inheritance is a concept where one class shares the structure and behavior
defined in another class. If Inheritance applied to one class is called Single
Inheritance, and if it depends on multiple classes, then it is called multiple
Inheritance.

8) What are manipulators?

Manipulators are the functions which can be used in conjunction with the
insertion (<<) and extraction (>>) operators on an object. Examples are endl and
setw.

9) Explain the term constructor

A constructor is a method used to initialize the state of an object, and it gets


invoked at the time of object creation. Rules for constructor are:

 Constructor Name should be the same as a class name.


 A constructor must have no return type.

10) Define Destructor?

A destructor is a method which is automatically called when the object is made of


scope or destroyed. Destructor name is also same as class name but with the tilde
symbol before the name.

11) What is an Inline function?

An inline function is a technique used by the compilers and instructs to insert


complete body of the function wherever that function is used in the program
source code.

2
12) What is a virtual function?

A virtual function is a member function of a class, and its functionality can be


overridden in its derived class. This function can be implemented by using a
keyword called virtual, and it can be given during function declaration.

A virtual function can be declared using a token(virtual) in C++. It can be


achieved in C/Python Language by using function pointers or pointers to
function.

13) What is a friend function?

A friend function is a friend of a class that is allowed to access to Public, private,


or protected data in that same class. If the function is defined outside the class
cannot access such information.

A friend can be declared anywhere in the class declaration, and it cannot be


affected by access control keywords like private, public, or protected.

14) What is function overloading?

Function overloading is a regular function, but it is assigned with multiple


parameters. It allows the creation of several methods with the same name which
differ from each other by the type of input and output of the function.

Example
void add(int& a, int& b);

void add(double& a, double& b);

void add(struct bob& a, struct bob& b);

15) What is operator overloading?

Operator overloading is a function where different operators are applied and


depends on the arguments. Operator,-,* can be used to pass through the
function, and it has its own precedence to execute
3
16) What is an abstract class?

An abstract class is a class which cannot be instantiated. Creation of an object is


not possible with an abstract class, but it can be inherited. An abstract class can
contain only an Abstract method. Java allows only abstract method in abstract
class while other languages allow non-abstract method as well.

17) What is a ternary operator?

The ternary operator is said to be an operator which takes three arguments.


Arguments and results are of different data types, and it depends on the function.
The ternary operator is also called a conditional operator.

18) What is the use of finalize method?

Finalize method helps to perform cleanup operations on the resources which are
not currently used. Finalize method is protected, and it is accessible only through
this class or by a derived class.

19) What are the different types of arguments?

A parameter is a variable used during the declaration of the function or


subroutine, and arguments are passed to the function body, and it should match
with the parameter defined. There are two types of Arguments.

 Call by Value – Value passed will get modified only inside the function, and
it returns the same value whatever it is passed into the function.
 Call by Reference – Value passed will get modified in both inside and
outside the functions and it returns the same or different value.

20) What is the super keyword?

The super keyword is used to invoke the overridden method, which overrides one
of its superclass methods. This keyword allows to access overridden methods and
also to access hidden members of the superclass.

4
It also forwards a call from a constructor, to a constructor in the superclass.

21) What is method overriding?

Method overriding is a feature that allows a subclass to provide the


implementation of a method that overrides in the main class. It will override the
implementation in the superclass by providing the same method name, same
parameter, and same return type.

22) What is an interface?

An interface is a collection of an abstract method. If the class implements an


interface, it thereby inherits all the abstract methods of an interface.

Java uses Interface to implement multiple inheritances.

23) What is exception handling?

An exception is an event that occurs during the execution of a program.


Exceptions can be of any type – Runtime exception, Error exceptions. Those
exceptions are adequately handled through exception handling mechanism like
try, catch, and throw keywords.

24) What are tokens?

A compiler recognizes a token, and it cannot be broken down into component


elements. Keywords, identifiers, constants, string literals, and operators are
examples of tokens.

Even punctuation characters are also considered as tokens. Example: Brackets,


Commas, Braces, and Parentheses.

25) What is the main difference between overloading and overriding?

Overloading is static Binding, whereas Overriding is dynamic Binding.


Overloading is nothing but the same method with different arguments, and it
may or may not return the equal value in the same class itself.

5
Overriding is the same method names with the same arguments and return types
associated with the class and its child class.

26) What is the main difference between a class and an object?

An object is an instance of a class. Objects hold multiple information, but classes


don’t have any information. Definition of properties and functions can be done in
class and can be used by the object.

A class can have sub-classes, while an object doesn’t have sub-objects.

27) What is an abstraction?

Abstraction is a useful feature of OOPS, and it shows only the necessary details to
the client of an object. Meaning, it shows only required details for an object, not
the inner constructors, of an object. Example – When you want to switch on the
television, it is not necessary to know the inner circuitry/mechanism needed to
switch on the TV. Whatever is required to switch on TV will be shown by using an
abstract class.

28) What are the access modifiers?

Access modifiers determine the scope of the method or variables that can be
accessed from other various objects or classes. There are five types of access
modifiers, and they are as follows:

 Private
 Protected
 Public
 Friend
 Protected Friend

29) What are sealed modifiers?

6
Sealed modifiers are the access modifiers where the methods can not inherit it.
Sealed modifiers can also be applied to properties, events, and methods. This
modifier cannot be used to static members.

30) How can we call the base method without creating an instance?

Yes, it is possible to call the base method without creating an instance. And that
method should be “Static method.”

Doing Inheritance from that class.-Use Base Keyword from a derived class.

31) What is the difference between new and override?

The new modifier instructs the compiler to use the new implementation instead
of the base class function. Whereas, Override modifier helps to override the base
class function.

32) What are the various types of constructors?

There are three types of constructors:

– Default Constructor – With no parameters.

– Parametric Constructor – With Parameters. Create a new instance of a class and


also passing arguments simultaneously.

– Copy Constructor – Which creates a new object as a copy of an existing object.

33) What is early and late Binding?

Early binding refers to the assignment of values to variables during design time,
whereas late Binding refers to the assignment of values to variables during run
time.

7
34) What is ‘this’ pointer?

THIS pointer refers to the current object of a class. THIS keyword is used as a
pointer which differentiates between the current object with the global object. It
refers to the current object.

35) What is meant by an abstract data type?

An ADT is a set of operation. Abstract data types are mathematical abstractions.


Eg. Objects such as list, set and graph along their operations can be viewed as
ADT’s.

36)Write down the definition of data structures?

A data structure is a mathematical or logical way of organizing data in the


memory that consider not only the items stored but also the relationship to each
other and also it is characterized by accessing functions.

37)Define primary data structures

Primary data structures are the basic data structures that directly operate upon
the machine instructions. All the basic constants (integers, floating-point
numbers, character constants, string constants) and pointers are considered as
primary data structures

38)What is meant by list ADT?

The List ADT is a sequential storage structure. General list takes the form a1, a2,
a3… an and the size of the list is ‘n’. Any element in the list at the position I is
defined to be ai, ai+1 is the successor of ai and ai-1 is the predecessor of ai.

8
39)What are the fundamental steps involved in algorithmic problem solving?
The fundamental steps are
 Understanding the problem
 Decision making
(i) Capabilities of computational devices
(ii)Either exact or approximate algorithm
(iii)Data structures
(iv)Algorithm strategies
 Methods for specifying the algorithm
 Proving an algorithms correctness
 Analyzing an algorithm
 Coding an algorithm
40)Define time and space complexity.
Time Complexity indicates how fast an algorithm runs. (i.e) The amount of time taken by an
algorithm to run to complete.
T(P)=Compile Time+ Run Time .(Tp)
Where Tp is no of add, sub, mul...

Space Complexity indicates how much extra memory the algorithm needs for execution.
Basically it has three components. They are instruction space, data space and environment
space.

Using the step count method analyze the time complexity when two m x n
matrices are added.
for(i<-0; i<m; i++)
{ for(j<-0; j<n; j++)
{ C[i][j]=A[i][j]+B[i][j]
} }

Statement Step Count


i<-0 1
i<m m+1
i++ m
j<-0 m
j<n (n+1)m
j++ (n)m
C[i][j]=A[i][j]+B[i][j] (n)m

3mn+4m+2
Total

Time complexity= O(mn)

9
41)What are the various types of time complexity of an algorithm?
 Big Oh (O)
 Big Omega (Ω)
 Big Theta (Θ )
 Little Oh (o )
 Little Omega (ω )
42)Define asymptotic notation.
 Asymptotic notations are mathematical tools to represent time complexity of algorithm
for asymptotic analysis.
 Standard asymptotic notations are
a) Big Oh(O)
b) Big Omega(Ω)
c) Big Theta(Θ )

43)Give the general plan for analyzing recursive algorithm.


(i) Decide a parameter indicating an Input’s Size.
(ii) Identify the algorithms Basic Operation.
(iii) Check whether the number of times the basic operation is executed only on the size
of an input. If it also depends on some additional property, the worst case, average
case, and if necessary, best case efficiencies have to be investigated separately.
(iv) Set up a recurrence relation, with an appropriate initial condition, for the number of
times basic operation is executed.
(v) Solve the recurrence relation or determine the order of growth and correctness can
be proved with help of mathematical induction.

44)Define Order Of Growth.


Measuring the performance of an algorithm in relation with the input size N is called order of
growth. An order of growth of an algorithm is a set of functions whose asymptotic growth
behavior is considered equivalent to the given algorithm.
For example, 2n, 100n and n+ 1 belong to the same order of growth, which is written
O(n) in “Big-Oh notation” and often called “linear” because every function in the set
grows linearly with n.

10
16 Marks
1. Explain about various asymptotic notations with an example and list the properties of
Big-Oh (O) notation.
2. Explain in detail about the process of solving recurrence relations with suitable
examples
3. Discuss briefly the sequence of steps in designing and analyzing an algorithm.

4. Write the recursive algorithm for computing Fibonacci numbers and solve its
recurrence relation.
5. What are the important problem types focused by the researchers? Explain in detail.

6. Solve the following recurrence equation


(i) T(n)=2T(n/2)+nlogn
(ii) T(n)=5T(n-1)-6T(n-2), T(0)=0,T(1)=1
(iii) T(n)=2T(n/2)+3, T(2)=2,T(3)=2
(iv) T(n)=2T(n/2)+cn, T(1)=0, T(2)=1

7. Prove that for any two functions f(n) and g(n), we have f(n)= Θ(g(n)), if and only if
f(n)=O(g(n))= Ω(g(n)).
8. Write an algorithm to find mean and variance of an array perform best, worst and
average case complexity, defining the notations used for each type of analysis.
9. Explain the basic efficiency classes with suitable examples.

10. Explain about OOPS concepts

11

You might also like