Newbie to Newbie: Algorithmic Design, Data structure techniques

There are different types of the data structures like linked lists, stacks, queues, binary search trees, sets, and many more. Each of them is used in the programming. Each of the data structures has a different field of application, and they provide different types of implementation using different types of usage (Goodrich, M. T., Tamassia, R., & Goldwasser, M. H). The correct type of data structure needs to be used to solve the problem. For example, if the element has a value greater or lesser than the given element that needs to be searched, we can use the binary tree instead of the stack or the queue. Some of the data structures design our designed so that they occupy less space than the solutions of other data structures, and the significant constraints are generally kept hidden in these asymptotic space bounds. For example, the insertion and deletion take O(N) for arrays and O(1) for the linked list. In such cases where the design needs to be efficient for the space, we need to make sure that data structures are more concise as per the requirement. Every program has a different statement in which each of the statements needs to be executed; then, it is usual that the program will have all the required time for the execution, and it will take the required space. For example, if we want to store a linked list of 7 elements, it will take seven storage spaces. A design strategy is needed when we are developing structured designs. The correct method to apply the right album design is a bottom-up approach or a top-down approach. We need to consider the execution time for the program, which will be taken by the code, and how much the program will need to get it stored over the system. According to this, we can have a suitable data structure design for the given problem.


References

Goodrich, M. T., Tamassia, R., & Goldwasser, M. H. (2014). Data structures and algorithms in Java. John Wiley & Sons.

Comments

Popular Post

Web/Mobile App Critique

Traveling Through a Network

Programming Language