Вы находитесь на странице: 1из 56

To create knowledge based society with scientific temper

through cutting-edge technologies, innovative research and


to become valuable resource for enriching mankind.
To provide an environment that will allow students and faculty
members to be skilled in creation and
implementation of new ideas.
To provide platform to improve questioning, observing,
testing, analyzing and communication skills.
To provide qualitative education and generate new
knowledge with integration of emerging technologies
and research.
To practice and promote high standard of potential
ethics, transparency and accountability.
Department of computer engineering shall create an
environment in which new ideas, research and technology
grows and form which technocrats and innovators of
tomorrow come forward to face the global challenges. It
aims at being recognized globally as role model and be a
part of substantial natural resources.
To develop competent professional with innovative
mindset, problem solving, design and implementation
skills through excellent under graduate education.
To provide platform to students so that they can expertise
themselves as a computer professional, entrepreneurs or
as a manager while fulfilling their ethical and social
responsibility in a globally competitive environment.
To contribute significantly to the research and discovery
of new arenas of methods and knowledge in the field of
computer engineering.
INTRODUCTION
SO..
Organizing your data
Work on the
DO NOW
ZERO LECTURE of
3cs2

&
Data Structure is a particular way of STORING and
ORGANIZING DATA in a computer
so that it can be used
EFFICIENTLY.
RESULTS
96 94.23
94 92.96
91.86
92
89.7
90 88.29 88.69
88 86.68
86 84.56
84
82
80
78

AVERAGE RESULT
RELEVANCE TO
Algorithms
+
Data StructureS
=
Programs!
This subject is important for
GATE (covers 15% of the whole
syllabus) and all other
competitive exams such as
PSUs as well as entrance
exams of various companies.
Data structures are used in almost every program or
software system.

Data structures provide a means to manage huge


amounts of data efficiently, such as large databases
and internet indexing services.

Data Structure works as the key organizing factor in


software design.
RELEVANCE TO
Departmental stores,
Reservation Counters,
Surfing Internet,
Hospitals,
Parties,
Traveling ETC
RELEVANCE TO
WELL HALF
BEGUN DONE
step towards success
To succeed in every field of life computer knowledge is must.

It enables us to automate the tasks,

It gives more efficient and accurate results. Thus, helping us to


become part of todays Computerized World.

As a computer engineer, the job is to develop Softwares and


builds projects, and without the knowledge of data structures this
work cannot be done.

If we have knowledge of data structures and algorithms then we


definitely get in touch with universe and it is first step towards
success.
RELEVANCE TO
Have an efficient programming with Data
structure !!!!!!!!!!!

The knowledge of this subject is incomplete if we are not implementing


it practically. To thoroughly understand the algorithms, it must be
implemented by various programs and software.
There is lot of advantageous of data structures and in fact the real
programming is based around data structures only.
Also to achieve efficiency which is the main feature of any program
good data structure techniques and features must be applied.
We have a lab related to DSA so whatever we learn in class room we
will implement the same in that lab.
RELEVANCE TO
In previous year we have studied C Language. DSA is the extension of
the same.
In this semester you are also dealing with OOPS Data Structure could
also be useful to make OOP language more efficient.
In the coming semester you will have Advanced Data Structure (ADS)
which is again the extension of DSA and Design and analysis of
Algorithm (DAA). Both paper will required the deep knowledge of
DSA.
Apart from above many programming language use the features of Data
Structure like JAVA.
All of the above each software can not be completed with out the use of
DATA STRUCTURE
Course Outcomes
NO. OUTCOME
Understand algorithms and analyze the asymptotic performance of
CO3CS2.1
algorithms.
Development of some non-linear data structures like stack and queue
CO3CS2.2
using array and perform various operations.
Identify, understand and apply the concepts of stack and queue in
CO3CS2.3
order to evaluate the expressions
Design linked list and develop algorithms to perform various
CO3CS2.4
operations on stack and queue
Demonstrate the knowledge of linked list in designing non-
CO3CS2.5 linear data structures like tree and graph and employ them
to model various engineering problems
Demonstrate a familiarity with major sorting and searching
CO3CS2.6 algorithms and analyze best, average and worst-case running
times of algorithms using asymptotic analysis.
Synthesize efficient programs in any language based on the
CO3CS2.7
algorithms in common engineering design situations.
Data Structure:
Definition & characteristics of algorithms, structures. Difficulties in
estimating exact execution time of algorithms,
Concept of complexity of program,
Asymptotic notations: Big-Oh, theta, Omega- Definitions and
examples, Determination of time and space complexity of simple
algorithms without recursion, Representing a function in asymptotic
notations viz 5n2-6n=_(n2)

Arrays: Array as storage element, Row major & column major form of
arrays, computation of address of elements of n dimensional array.
Course Outcomes
NO. OUTCOME
Understand algorithms and analyze the asymptotic performance of
CO3CS2.1
algorithms.
Development of some non-linear data structures like stack and queue
CO3CS2.2
using array and perform various operations.
Identify, understand and apply the concepts of stack and queue in
CO3CS2.3
order to evaluate the expressions
Design linked list and develop algorithms to perform various
CO3CS2.4
operations on stack and queue
Demonstrate the knowledge of linked list in designing non-
CO3CS2.5 linear data structures like tree and graph and employ them
to model various engineering problems
Demonstrate a familiarity with major sorting and searching
CO3CS2.6 algorithms and analyze best, average and worst-case running
times of algorithms using asymptotic analysis.
Synthesize efficient programs in any language based on the
CO3CS2.7
algorithms in common engineering design situations.
Arrays as storage elements for representing polynomial of one or
more degrees for addition & multiplication, sparse matrices for
transposing & multiplication,
Stack, Queue, De-queue, Circular queue for
Insertion and deletion with condition for over and underflow,
Transposition of sparse matrices with algorithms of varying
complexity (Includes algorithms for operations as mentioned).

Evaluation of Expression: Concept of precedence and associativity


in expressions, difficulties in dealing with infix expressions, Resolving
precedence of operators and association of operands, postfix & prefix
expressions, conversion of expression from one form to other form
using stack (with & without parenthesis), Evaluation of expression in
infix, postfix & prefix forms using stack. Recursion.
Course Outcomes
NO. OUTCOME
Understand algorithms and analyze the asymptotic performance of
CO3CS2.1
algorithms.
Development of some non-linear data structures like stack and queue
CO3CS2.2
using array and perform various operations.
Identify, understand and apply the concepts of stack and queue in
CO3CS2.3
order to evaluate the expressions
Design linked list and develop algorithms to perform various
CO3CS2.4
operations on stack and queue
Demonstrate the knowledge of linked list in designing non-
CO3CS2.5 linear data structures like tree and graph and employ them
to model various engineering problems
Demonstrate a familiarity with major sorting and searching
CO3CS2.6 algorithms and analyze best, average and worst-case running
times of algorithms using asymptotic analysis.
Synthesize efficient programs in any language based on the
CO3CS2.7
algorithms in common engineering design situations.
Linear linked lists:
Singly linear linked lists
Doubly linear linked lists
Circularly connected linear linked lists
insertion, deletion at / from beginning and any point in ordered or
unordered lists.
Comparison of arrays and linked lists as data structures.
Linked implementation of
stack, queue and dequeue.
Algorithms for/of insertion, deletion of stack, queue, dequeue
implemented using linked structures.
Polynomial representation using linked lists for addition, Concepts of
Head Node in linked lists.

Searching: Sequential and binary search.


Course Outcomes
NO. OUTCOME
Understand algorithms and analyze the asymptotic performance of
CO3CS2.1
algorithms.
Development of some non-linear data structures like stack and queue
CO3CS2.2
using array and perform various operations.
Identify, understand and apply the concepts of stack and queue in
CO3CS2.3
order to evaluate the expressions
Design linked list and develop algorithms to perform various
CO3CS2.4
operations on stack and queue
Demonstrate the knowledge of linked list in designing non-
CO3CS2.5 linear data structures like tree and graph and employ them
to model various engineering problems
Demonstrate a familiarity with major sorting and searching
CO3CS2.6 algorithms and analyze best, average and worst-case running
times of algorithms using asymptotic analysis.
Synthesize efficient programs in any language based on the
CO3CS2.7
algorithms in common engineering design situations.
Non-Linear Structures: Trees definition, characteristics concept of
child, sibling, parent child relationship etc, binary tree: different types of
binary trees based on distribution of nodes, binary tree (threaded and
unthreaded) as data structure, insertion, deletion and traversal of
binary trees, constructing binary tree from traversal results. Threaded
binary Tree. Time complexity of insertion, deletion and traversal in
threaded and ordinary binary trees.

AVL tree: Concept of balanced trees, balance factor in AVL trees,


insertion into and deletion from AVL tree, balancing AVL tree after
insertion and deletion. Application of trees for representation of sets.
Course Outcomes
NO. OUTCOME
Understand algorithms and analyze the asymptotic performance of
CO3CS2.1
algorithms.
Development of some non-linear data structures like stack and queue
CO3CS2.2
using array and perform various operations.
Identify, understand and apply the concepts of stack and queue in
CO3CS2.3
order to evaluate the expressions
Design linked list and develop algorithms to perform various
CO3CS2.4
operations on stack and queue
Demonstrate the knowledge of linked list in designing non-
CO3CS2.5 linear data structures like tree and graph and employ them
to model various engineering problems
Demonstrate a familiarity with major sorting and searching
CO3CS2.6 algorithms and analyze best, average and worst-case running
times of algorithms using asymptotic analysis.
Synthesize efficient programs in any language based on the
CO3CS2.7
algorithms in common engineering design situations.
Graphs: Definition, Relation between tree & graph, directed and
undirected graph, representation of graphs using adjacency matrix and
list. Depth first and breadth first traversal of graphs, finding connected
components and spanning tree. Single source single destination
shortest path algorithms.

Sorting: Insertion, quick, heap, topological and bubble sorting


algorithms for different characteristics of input data. Comparison of
sorting algorithms in term of time complexity...
Course Outcomes
NO. OUTCOME
Understand algorithms and analyze the asymptotic performance of
CO3CS2.1
algorithms.
Development of some non-linear data structures like stack and queue
CO3CS2.2
using array and perform various operations.
Identify, understand and apply the concepts of stack and queue in
CO3CS2.3
order to evaluate the expressions
Design linked list and develop algorithms to perform various
CO3CS2.4
operations on stack and queue
Demonstrate the knowledge of linked list in designing non-
CO3CS2.5 linear data structures like tree and graph and employ them
to model various engineering problems
Demonstrate a familiarity with major sorting and searching
CO3CS2.6 algorithms and analyze best, average and worst-case running
times of algorithms using asymptotic analysis.
Synthesize efficient programs in any language based on the
CO3CS2.7
algorithms in common engineering design situations.
Course Outcomes
NO. OUTCOME
Understand algorithms and analyze the asymptotic performance of
CO3CS2.1
algorithms.
Development of some non-linear data structures like stack and queue
CO3CS2.2
using array and perform various operations.
Identify, understand and apply the concepts of stack and queue in
CO3CS2.3
order to evaluate the expressions
Design linked list and develop algorithms to perform various
CO3CS2.4
operations on stack and queue
Demonstrate the knowledge of linked list in designing non-
CO3CS2.5 linear data structures like tree and graph and employ them
to model various engineering problems
Demonstrate a familiarity with major sorting and searching
CO3CS2.6 algorithms and analyze best, average and worst-case running
times of algorithms using asymptotic analysis.
Synthesize efficient programs in any language based on the
CO3CS2.7
algorithms in common engineering design situations.
Title Author Publisher

Data Structure Seymour Lipchitz TMH


(Schaums Outline)

Data Structure Through C G.S.Baluja DHANPAT RAI


Title Author Publisher

Expert Data Structure with C R. B. Patel Khanna Book


Publishing
Data Structure using C and C++ M. Tenenbaum Pearson

Data Structure and Algorithm in C++ Adam drozdek Cengage


Learning
Fundamentals of data Structure in C Horowitz, Sahni, Anderson Universities
,freed Press
http://www.nptel.ac.in (national program on Technology
Enchantment & Learning nptel.iiitm.ac.in)
http://www.nist.gov
http://www.ocw.mit.edu
http://www.w3professors.com

Associations & Institutions

1. COMPASS: Computer Association of Eastern India, Kolkata


www.compassindia.com
2. CSI: Computer Society of India. www/csi-india.org
3. AITTA: All India IT Association www.aitta.org

Journals & Handbooks


1. IJCSIT: International Journal of CS & IT
Publisher: Serial Publication
2. IJCIRA: International Journal of Computational Intelligence
Research & Application
Publisher: Serial Publication
3. JICA: Journal of Intelligent computing & Application
Publisher: international Science Press India.
No. of Working days available (Approx.) 66
No. of Weeks (Approx.) - 16

Special Activities

BEFORE MID TERM AFTER MID TERM


PPT 02 SOLVING QUE PAPER 01
CROSSWORD 01 PPT 01
QUIZ 01 OBT 01/BATCH
CLASS TEST 03 CLASS TEST 02
CASE STUDY 01 CROSSWORD 01

Lecture schedule per week


i). University scheme (L+T+P) = 3+1+3
ii). PGC scheme (L+T+P) = 4+1+3
No. of
Degree of Questio Text/
S. No. of Broad
Name of Unit difficulty n in Reference
No. lectures Area
RTU books
Exam.
Analysis of
Algorithms, Schaums
Data Structure,
1.
Arrays 14 Time & Medium Series, G.S.
Space 2 Baluja, R.B.
Complexity Patel
Schaums
Stack, Queue,
Sparse , Series,
2. Evaluation of 16 Recursion Medium 2 G.S. Baluja
Expression
Schaums
Operations
Series, G.S.
Linked list, performed
3.
Searching 17 on High 2
Baluja
Polynomial
G.S. Baluja,
Non-Linear
AVL Schaums
4. Structures(tree),
AVL
11 Rotations High 2 Series

G.S. Baluja,
Analysis of
5. Graphs, Sorting 08 Medium 2 Schaums
Sorting
Series
%of Nature of Syllabus
Sr. Name of the Max. Conducted
passing paper Theory coverage
No. Exam Marks by
marks + Numerical (in %)

1. 1st Mid Term Exam 40 16 Theory 60% PGC

2nd Mid Term Remaining


2. 40 16 Theory PGC
Exam 40%

University (End)
3. 80 24 Theory 100% RTU
Term Exam

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