Monday, September 30, 2013

VTU CS: which units to study in data structures

To score optimum marks in a subject, choosing which units to prepare plays a crucial role, especially when most of us start preparing only a fortnight before :D. Hence, I wanted to share with you, the units you should ideally prepare for Data Structures. Please do keep in mind that D.S plays a very vital role at the time of interview. Good product companies or start-ups would never take a candidate who is bad with D.S. Got the idea!!!? An ideal approach is to score  marks and also have sound basics to clear interview.

1. Pointers and Related stuff
    This is definitely a good choice, considering that most of the code would be written in C for practical/lab exams. It definitely helps to get a good understanding of pointers. On the other hand, please be careful not to waste  too much time in understanding expression like ***(c), from my knowledge unless you work on core systems side ie Operating Systems, Graphics Card processor, virtualization, file-systems, you will rarely use C in industry.

2. String, Derived Types and Files
    Please skip this unit. Let us understand why? Files are definitely not worth spending time on, as far as the interviewers are awake they will never ever ask you anything about files. Trust me on this :). The worst thing is, lets say you have prepared well on String and Derived Types but have missed Files( as you found it boring, I did ;) ) and now what if a 8 marks question comes from Files, you loose it. Hence I would suggest its worth skipping.

3. Stacks
   Yet another easy take away, its pretty simple to understand and unless you really want to, you cannot loose marks from this unit. Special focus needed on prefix to postfix and vice-versa conversion and evaluation of expressions using stacks. A common mistake while coding is to check if the stack is full/empty.

4. Recursion and Queues
   Recursions are a very handy techniques to solve lot of difficult problems and come up with the efficiency of the solution. Hence, it is good to have a right understanding of Recursion. Another advantage is, recursion drastically reduces the amount of code that you have to write the code becomes much shorter.
  Queues are also straight forward and easy to grasp and score. Hence, don't miss this unit.

 That makes it 3 units from Part 1.

                                      Lets take up Part B now 

In my opinion, part 2 of VTU Data Structures is among the most important topics to prepare well for any technical interview.

5.  Linked Lists
    This unit deals with an introduction to Singly Linked Lists, their efficiency of various CRUD operations(create, read, update and delete). Interviewers have a thing for singly linked lists so this is something that cannot be skipped. These also help to implement other Data structures like trees.

6. Lists 2
    Of all the units in Part B, this one is of a relatively less importance but is really easy to pick up for someone who has got its predecessor ie Unit 5 understood right. There is also one lab question from this and that sort of gets easier to crack if you study it, but lets save this for the last :).

7. Trees: Binary Trees, BT representation
    Trees make up the heart of Data Structures and it was only after studying it, I realized that Stacks and Queues make up Junk D.S.  The CRUD operations on tree are amazingly efficient and no wonder it is the choice of implementation at many places. Oh!! yeah, about the interview, this is a hot favorite at every good tech company.

8. Trees (part2)
    Just sit back and try to understand the applications of trees, it is then you will realize what makes it so so important to D.S. Yet another advantage of studying trees is it helps a lot to understand Algorithms in 4th Semester much better. Many complex algos like HeapSort are based on Trees.

So this is it, I hope this helps you to score marks in Lab, Written and in interview as well :). The irony is that the last couple of units are taught when the classrooms are almost empty and only students with ultra less attendance sit in the class. You are better off bunking classes in the first half :P

Do scribble your thoughts, nothing is more satisfying than hearing your opinions.