0% found this document useful (0 votes)
16 views

Assignment Session 14

Uploaded by

nelsonchandra84
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Assignment Session 14

Uploaded by

nelsonchandra84
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Data Structure Session 14

Nelson Chandra / 20010008

1. Why do we need to learn data structure?


Answer : By learning data structure, we will have a better understanding of their
strengths and shortcomings, as well as the ability to reason about their suitability for
certain jobs. In data structure, we will learn about the algorithms and philosophies of the
programming language, like how come the syntax / programming language become like
that, etc. Algorithms and data structures are the fundamental skills of programming and
software engineering. A lot of beginners and expert programmers avoid learning data
structures and Algorithms because they believe it is difficult and that they would never
use it in real life.
For example : Heaps → for use cases when you require computation on objects having
minimum (or maximum) values.
Binary search trees → Swiss-army knife data structure, highly efficient for a variety of
operations, such as insertion, selection, and search.
Hash tables → will allow understanding how sets and dictionaries are implemented
behind the scenes, and why they are preferable for look-up applications.

2. What skill needs to be mastered in data structure?


Answer :
- Good logic skills → if you can explain the logic behind it, there are chances you
still might land a good job.
- Programming skills → it is a fundamental skill that you must have in working with
data structures.
- Problem solving skills → you must have problem solving skills when working with
data structures because data structures must solve a lot of problems.

3. When will you use data structure skills?


Answer : During analyzing the data, during programming (C++, python, java, etc), and
during making a website, and working with databases and big data.
For applications such as big databases and internet indexing services, data structures
provide a way to efficiently manage massive volumes of data. In most cases, building
efficient algorithms necessitates the use of efficient data structures.

4. Please kindly review some resources (put the link) related to learning data structure and
give your opinion about that resource?
Answer : The paper discusses dynamic trees. A data structure is proposed to maintain a
collection of vertex-disjoint trees under a sequence of two kinds of operations: a link
operation that combines two trees into one by adding an edge, and a cut operation that
divides one tree into two by deleting an edge. Each operation requires O time. Using this
data structure, new fast algorithms are obtained for the following problems: computing
nearest common ancestors, Solving various network flow problems including finding
maximum flows, blocking flows, and acyclic flows. Computing certain kinds of
constrained minimum spanning trees, and Implementing the network simplex algorithm
for minimum-cost flows.
Source : Sleator, D. D., & Endre Tarjan, R. (1983). A data structure for dynamic trees.
Journal of Computer and System Sciences, 26(3), 362–391.
doi:10.1016/0022-0000(83)90006-5

Reference:
- https://www.hackerearth.com/blog/developers/7-steps-to-improve-your-data-structure-an
d-algorithm-skills/
- https://www.geeksforgeeks.org/why-data-structures-and-algorithms-are-important-to-lear
n/
- https://www.quora.com/What-skills-in-terms-of-programming-data-structures-and-algorith
ms-should-you-have-before-you-can-hope-to-solve-coding-interview-questions
- Sleator, D. D., & Endre Tarjan, R. (1983). A data structure for dynamic trees. Journal of
Computer and System Sciences, 26(3), 362–391. doi:10.1016/0022-0000(83)90006-5

You might also like