Question

In: Computer Science

What are the data structures and algorithms? Why are they important to software developers? Give an...

What are the data structures and algorithms? Why are they important to software developers?
Give an example of using a data structure.
Give an example of using algorithm.
Use Google to search for your answers. Minimum 400 words and a maximum of 1000 words.

Solutions

Expert Solution

To be precise, Data Structures are the ones that can be used to store and organize data. Whereas Algorithms are used to access (Search, sort, insert, update and Delete) data to solve a particular problem.

Data Structures:

Any computer program is a set of instructions to perform a task OR solve a problem. Data Structures is a concept that can used to storing the data and organizing the data efficiently. Data Structures is about storing data with some relationship within data for better organization, storage and retrieval. In another words, Data Structures are the way to store data programmatically and use it efficiently.

Basic examples of Data Structures:

· Stack – To store and retrieve data using LIFO (Last in First Out) principles. Example: Stack of plates in buffet table. Here which ever plate is last in to the stack it will be taken out first.

· Queue – To store and retrieve data using FIFO (First in First Out) principles. Example: Movie ticket booking queue. Whoever first in to the queue will get the tickets first.

· Linked List – To store data in terms of nodes and maintain links between nodes. One node will be linked to other nodes. Example: Single Linked List and Double linked list.

· Tree – To store data in tree structure. Example: Binary Tree and Red Black Tree

· Graph – To store data in graph structure.

Algorithms:

Algorithm is a series of steps OR instructions OR logic to solve or accomplish a certain problem. Algorithm is not the program. It is just logical steps to accomplish given problem. Algorithm can be represented by high level description i.e. pseudocode or flowchart. Algorithm is not depends on programming language. Developers should implement code based on the algorithm.

Basic examples of Algorithms:

· Sort – Algorithm to sort items in given input data structure. Example: Bubble Sort, Merge Sort, Quick Sort, Heap Sort and Insertion Sort etc.

· Search – To search an item in given input data structure. Example: Linear Search and Binary Search.

· Insert – To insert a new item in data structure.

· Update – To update existing item in data structure.

· Delete – To delete an item from the data structure.

Why Data Structures and Algorithms are important to software developers?

Companies invests in software development to solve the business problems. Software developers may involve during analysis, design and coding life cycle of a software development process. Developers should have strong knowledge about Data Structures and Algorithms to choose right data structure to store and organize data. And to choose right algorism to access or update data underlying in data structure. For example certain problem can be accomplished by using multiple data structures and algorithms. But developer’s responsibility to choose right data structure and algorithm based on below factors

· Time Complexity – How much time a program will take to complete execute for any set of input whether it may be small input or input volume is high.

· Space Complexity – How much space required to execute a specific program.

These Time and Space complexities are denoted by using Big O notation. Every data structure and algorithm has different time and space complexities. Based on the requirement specification, programmer has to choose right data structure. In order to understand Time and Space complexities, Developer should have deeper knowledge in Data Structures and Algorithms.


Related Solutions

This question is in reference to BFS and DFS for data structures and algorithms Consider a...
This question is in reference to BFS and DFS for data structures and algorithms Consider a graph algorithm with a growth function on V and E: f(V, E). How would you convert f(V,E) to f'(V) such that f(V,E)=O(g(n))=f(V)? (That is, convert a growth function of two variables to be of one variable in such a way that the Big-Oh bound for the one variable function will hold for the two variable function.) Explain the steps in creating f', and explain...
What are Algorithms? Give an example
What are Algorithms? Give an example
Thoroughly explain the impacts of data structures and algorithms in the development and implementation of computer...
Thoroughly explain the impacts of data structures and algorithms in the development and implementation of computer programs using modern computer technologies.
Data Structures and Algorithms Activity Requirement: Implement a queue using an array as its underline data...
Data Structures and Algorithms Activity Requirement: Implement a queue using an array as its underline data structure. Your queue should fully implemnted the following methods: first, push_back (enqueue), pop_front (dequeue), size, and isEmpty. Make sure to include a driver to test your newly implemented queue
Using classes and array data structure write methods with algorithms for a software that an airline...
Using classes and array data structure write methods with algorithms for a software that an airline can use to view available/booked seats, management booking, canceling booking and reorder seats. The solution should consist of a minimum of two classes with one class containing the main method and second class for managing a manipulating data. The choice of data structure for this assignment will be static one dimension arrays. in C++
This is a C++ based question that involves Data Structures and Algorithms. Q. Application: Linked List...
This is a C++ based question that involves Data Structures and Algorithms. Q. Application: Linked List of Bus Transit and Passengers You are to implement a C++ program for City Bus Transit using linked list data structure to maintain record of passengers. Specifically, you are to implement the following methods/functions: For Passenger: o A function which can create a new node of the linked list using new for each newpassenger o A function that prints the time of single passenger...
Individuals and organizations build various data structures and algorithms to solve real-life problems. Furthermore, many data...
Individuals and organizations build various data structures and algorithms to solve real-life problems. Furthermore, many data analysts tend to use Big-O notation for analyzing algorithms. In your own words, explain ways by which people can specify (i). data structures and (ii) algorithms, that they build and use.
Why is software engineering important? What benefits does it bring and what are the consequences of...
Why is software engineering important? What benefits does it bring and what are the consequences of not following an accepted methodology?
why is it important to have software vendors (such as SAP, Oracle,etc.) use the audit data...
why is it important to have software vendors (such as SAP, Oracle,etc.) use the audit data standards?
Software Developers can add tremendous value to an organization by the applications they build. What do...
Software Developers can add tremendous value to an organization by the applications they build. What do you think the core elements are to being a good software developer. What do you need to be good at from a technical perspective? What kind of personality traits make a good software developer? please elaborate as much as you can (i need like 500 words). Thank you.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT