Data Structures & Algorithms:Marker Bank Case Study
Scenario
Marker Bank is one of the emerging Banks in the area. All the clients are fully satisfied by the services provided by the Bank. Now the company’s CEO has decided to make a software which can validate and verify customer signature on cheque. The idea is simply to identify the mismatch signature in cheques and inform the respected client. Before applying for the project, the bank’s CEO needs to know how different data structures are used and manipulated, he also wants to know if the company can integrate the best and optimized algorithms to develop efficient and accurate applications. For the implementation of given task, the bank’s CEO has assigned this task to head of software
department who has a specific team lead by software engineers. The team also includes data engineers, and Jr. software engineers.
Your role in the team is of a Jr. software engineer. Now you are assigned to prepare this document to make your organization understand the use of different ADTs, different sorting and searching algorithms along with their applications and efficiency. This document should be divided into specific parts related to the ADTs.
Task 1
- The Selection Process: Identify the best abstract data structure that can be used in the given scenario.
- The Operation Process: Construct a design that shows how data can be manipulated and discuss all the valid operations used in data structure which can be applied in the given scenario.
- The Storage Methods: Use FIFO (First in first out) and LIFO (Last in last out).
- 4. Analytics Discussion: Discuss the two shortest path algorithms with their operations used to solve for best suited in current case scenario.
- Comparative Analysis: Measure and compare the aspects of the sorting algorithms which will help to understand their performance difference.
Task 2
- Explain Operations: Discuss the operation used to make a function call in the memory stack for sign matching mechanism.
- Describe how ATD and other components work together: During the creation of the software stack, discuss ATD and the set of components that work together to support the execution of the application.
- Identify Information hiding and encapsulation: In the implementation phase what are the main information hiding and encapsulation techniques used for current software.
- Compare Object Oriented Models: Discuss the benefits and disadvantages, how object oriented models can be useful for making applications.
Task 3
- Implementation of ADT: You need to implement the proposed Abstract data type in any language (i.e.) C++ or Python and justify how this code can resolve the given issue.
- Implementation of Error Handling: Mention and implement by using code that how errors can be handled. (i.e., use error handling and test results)
- Algorithm Analysis: Discuss the main features of asymptotic notation with analysis on algorithms.
Task 4
- Algorithm Efficiency: Evaluate complete steps and structure that algorithms can be measured in terms of time and storage complexity.
- Algorithm Efficiency Measurement: Identify two ways that can be helpful for measuring the efficiency of an algorithm.
- Advantages of Data Structures: Write a detailed description including benefits of using selected data structure on any problem.