![unit 19 data structures and algorithms](https://123docz.net/image/doc_normal.png)
Đang tải... (xem toàn văn)
Thông tin tài liệu
Advantages of data structures: Performance: The data structure is op mized for simple mathema cal opera ons like searching, inser ng, removing, and accessing data.. Homogeneous or Heter
Trang 1ASSIGNMENT 1
Unit number and title Unit 19 Data Structures and Algorithms:
Trang 3Summative Feedback: Resubmission Feedback:
Internal Verifier’s Comments:
IV Signature:
Trang 53 Explain Use Cases 10
II Determine the opera ons of a memory stack and how it is used to implement func on calls in a computer (P2) 17
1 Understand the Basics 17
2 Visualize the Stack 18
3 Implement and Trace 18
III Using an imperative de ni on, specify the abstract data type for a so ware stack (P3) 20
1 De ne the Opera ons 20
2 Use Pseudocode or Java 24
3 Consider Error Handling 29
Consola on 33
Reference 34
Trang 7List Of Figures
Figure 1 Data Structures and Algorithms - Arrays 7
Figure 2 Data Structure and Algorithms - Queue 7
Figure 3 Data Structure and Algorithms - Tree 8
Figure 4 Example code for Array 2 11
Figure 5 Example code for Array 1 11
Figure 6 Result code for Array 12
Figure 7 Example code for Queue 13
Figure 8 Result code for Queue 14
Figure 9 Example code for Tree 15
Figure 10 Example code for Tree 16
Figure 11 Result code for Tree 17
Figure 12 Implement and Trace Code 19
Figure 13 Implement and Trace Code 20
Figure 14 Implement and Trace Result Code 20
Figure 15 push(item) 21
Figure 16 pop() 22
Figure 17 peek() 23
Figure 18 isEmpty() 24
Figure 19 Class Stack 25
Figure 20 Push opera on Code 26
Figure 21 Class Stack 26
Figure 22 Result Push opera on 27
Figure 23 Peek opera on Code 27
Figure 24 Result Peek opera on 27
Figure 25 Result pop opera on 28
Figure 26 pop opera on Code 28
Figure 27 Result IsEmpty 29
Figure 28 IsEmpty Code 29
Trang 8Figure 29 Element Code 30
Figure 30 Code before processing 30
Figure 31 Results before processing 30
Figure 32 Code a er processing 31
Figure 33 Results a er processing 31
Figure 34 Element added 32
Figure 35 Code before processing 32
Figure 36 Results before processing 32
Figure 37 Code a er processing 33
Figure 38 Results a er processing 33
Trang 9Introduc on
So net Development Ltd, a leading so ware company specializing in network delivery solu ons, has won a contract for a joint development service delivery project I was tasked as an in-house so ware developer with building a middleware solu on to improve communication between several service interfaces The goal of the project is to use abstract data types (ADTs) to improve so ware design, development, and tes ng To accomplish this task, you will provide detailed presenta ons to partners explaining how ADT improves e ciency, reusability, and maintainability In addi on, an ar cle detailing the development of data types and abstract algorithms using formal nota on will be released So net and its partners are posi oned to make signi cant advances in so ware development by focusing on innova on and collabora on
I Create a design speci ca on for data structures explaining the valid opera ons that can be carried out on the structures (P1)
1 Data Structures
Data structure refers to the organiza on and storage of data in a computer's memory or storage system It provides a systema c method for represen ng and manipula ng data to successfully perform opera ons and solve problems Data structures establish rela onships between pieces of data and how they are stored and retrieved Di erent data structures are created to manage di erent types of data and enable di erent ac ons Arrays, linked lists, stacks, queues, trees, graphs, and hash tables are examples of typical data structures Each data format has its own
Trang 10bene ts, limita ons, and applica on scenarios Advantages of data structures:
Performance: The data structure is op mized for simple mathema cal opera ons like searching, inser ng, removing, and accessing data
Resource Op miza on: Using the proper data structures will help you save on resources like memory and processing me
Trang 11Flexibility: Di erent data formats allow for customiza on and op miza on based on applica on needs
Easy to use: Opera ons and interac ons with data structures are frequently designed to be obvious and simple to grasp
Disadvantages of data structures:
Complex: Some data structures are complex and require a deep understanding of their opera on and analysis
Resource usage: While certain data structures perform be er in speci c circumstances than others, some may use more resources overall
Characteris cs of data structures are o en classi ed according to their characteris cs The following three characteris cs are examples:
Linear or Non-linear: This property signi es whether data elements are organized in a linear sequence, as seen in arrays, or if they lack a specific order, as exempli ed by histograms
Homogeneous or Heterogeneous: This a ribute indicates whether all data items within a par cular collec on are of the same type, like an array with uniform elements, or if they encompass a variety of types, such as in the case of an abstract data type formulated as a structure in C or a class de ni on in Java
Trang 12Sta c or Dynamic: This trait relates to how the data structure is constructed Sta c data structures maintain a xed size, structure, and memory loca on at compile me, while dynamic data structures possess the capability to adjust in size, structure, and memory loca on, depending on their intended usage
Select the 3 most suitable structures for the project used to create design speci ca ons for data structures such as arrays, Queues, and trees
Trang 13Array: An array is a form of linear data structure that is described as a grouping of pieces of the same or dis nct data types They exist in one dimension as well as numerous dimensions These data structures occur when it is necessary to store several components with comparable a ributes in one loca on
Queue: A queue is an abstract data structure What di eren ates it from a stack is that the queue is open at both 1-input and 1-output ends Pre-managed data will be accessed
rst Data is added to the queue from one end and withdrawn from the queue from the other end
Figure 1 Data Structures and Algorithms - Arrays
Trang 14Tree:Trees are non-linear abstract data structures with a hierarchical structure These are nodes that are linked together The tree data structure is composed of subtrees that are linked to a single node known as the root node
Trang 152 De ne Opera ons
o Array:
Inser on: A new element is added to an array at a designated index point when an element is inserted You must supply the index posi on and the value to insert in order to execute an insert In order to make room for the new element during inser on, it is frequently necessary to
move exis ng elements a er the inser on point This indicates that every element will be shi ed one posi on to the right star ng at the inser on point The new element is shi ed and then posi oned at the desired index Usually, insertion is
Figure 3 Data Structure and Algorithms - Tree
Trang 16performed to change an array's contents or increase its size
Dele on: An element must be removed from the array by shi ing it to a certain index point You must supply the element's index in order to carry out the dele on In order to replace the space le by the deleted element, dele on frequently necessitates moving already-exis ng items a er the dele on point This implies that all items will move one place to the le following the dele on point The array size is decreased by one a er shi ing Using erase, you may take elements out of an array and change the array's size correspondingly
Trang 17 Traversal: This process entails itera ng through the array's elements and performing a speci ed opera on on each one There are several methods of traversal depending on the situa on, such as linear search, binary search, and dynamic programming In general, traversal is a method of accessing one or more elements in an array; it can be accomplished using an index/pointer or a name-based index
o Queue:
Enqueue:An element is added to the rear of the queue via the enqueue procedure You must supply the element to be inserted in order to execute an enqueue By adding the element at the end of the queue, the enqueue opera on expands the queue's size by one The newly inserted element moves to the front and rear of the queue if it is empty The new element is posi oned to the rear of the queue if it already has elements, while the current elements stay in their original places
Dequeue: The element is taken out of the front of the queue by the dequeue ac on Just take out and put back the element at the top of the queue to complete a dequeue By performing this ac on, the queue's size is reduced by one and the front is updated with the subsequent element in the queue In the event that the dequeue leaves the queue empty, neither the front nor the rear element are le Peek: The peek opera on allows you to view the element at the front of the queue
Trang 18without removing it You can obtain and return the element at the front of the queue during a peek without changing the contents of the queue When you need to verify anything depending on the value of the front element or look at the next element to be dequeued, this operation comes in handy
o Tree:
Inser on: The inser on opera on adds a new tree element To insert an element, you must supply the value or key of the element to be inserted Depending on the type of tree data structure u lized, such as Binary Search Tree (BST), AVL Tree, or Red-Black Tree, the inser on process follows di erent rules The inser on process
Trang 19guarantees that the tree is balanced and that any stated a ributes or restric ons are maintained
Dele on: The dele on procedure eliminates a tree element To delete an element, you must supply the value or key of the element to be deleted The dele on opera on, like the inser on opera on, follows certain rules dependent on the kind of tree being u lized The dele on opera on deals with a variety of situa ons, including removing a leaf node, dele ng a node with one child, and dele ng a node with two children To guarantee that the tree stays valid and meets any given criteria, the relevant procedures for restructuring and preserving balance are implemented
Traversal: The traversal opera on enables you to visit and process each element in the tree in the order speci ed Depth-First Search (DFS) and Breadth-First Search (BFS) are two traversal algorithms There are three types of traversal orders in DFS: pre-order, in-order, and post-order The current node is visited rst, followed by its o spring In-order traversal visits the le subtree rst, then the current node, and lastly the right subtree, yielding a BST in sorted order Before reaching the current node, post-order traversal visits the le and right subtrees
3 Explain Use Cases
Array:
Trang 20Use cases: Arrays are used to store and access a collec on of items, which are frequently of the same data type
Example: Inventory Management: In retail, arrays are used to manage product inventories, tracking items, quan es, and prices
Example Code:
Trang 22
Figure 4 Example code for Array 2
Trang 23Result code:
Queue:
Use Case: Queues are used to handle objects in a First- -First-Out (FIFO) manner, which is Inappropriate for scenarios involving planned or ordered processing
Example: E-commerce websites use queues to process customer orders, ensuring orders
Figure 6 Result code for Array
Trang 24are ful lled in the order they are received Example code:
Trang 26Result code :
Figure 7 Example code for Queue
Trang 32Result Code:
Figure Example code for Tree10
Trang 33II Determine the opera ons of a memory stack and how it is used to implement func on calls in a computer ( ) P2
1 Understand the Basics
A stack is a linear data structure that follows the Last- -First-Out (LIFO) principle It can be Inthought of as a stack of objects, where the last object added is the rst one to be removed The basic opera ons associated with a stack are:
Figure Result code for Tree11
Trang 34push: The push ac on adds an element to the stack's top It accepts the element as an argument and adds it to the stack, increasing the size of the stack The new element rises to the top of the stack
pop: The pop ac on removes and returns an element from the stack's top It removes the topmost element and adjusts the size and top posi on of the stack correspondingly As a consequence, the element that was popped o is restored.
Trang 35peek: The peek ac on returns the top member of the stack without dele ng it It allows you to inspect the top element's value without altering the stack's contents As a consequence of the peek ac on, the element at the top is returned
size(): The size() procedure returns the current number of items in the stack It returns the current stack size by coun ng the number of elements saved
isEmpty: The isEmpty opera on determines whether or not the stack is empty It produces a boolean result, o en true or false, indica ng if the stack contains any components It returns true if the stack is empty; otherwise, it returns false
top: The top ac on, like the peek opera on obtains the element at the top of the stack without dele ng it It gives you access to the value of the top element As a consequence of the top ac on, the element at the top is returned
2 Visualize the Stack
Empty Stack: Ini ally, the stack is empty
Func on Call: Upon making a new func on call, let's say "New Disk," a corresponding stack frame is added to the stack, represen ng the execu on context of the "New Disk" func on
Nested Func on Calls: Within the "New Disk" func on, there are nested func on calls, such as "Make a Func on Call (Get Disk)." Each of these nested func on calls creates addi onal stack frames on top of the ini al "New Disk" frame
Trang 36Return to Previous Func on: A er the nested func on calls are made and completed, the corresponding stack frames are removed as the func ons return The control ow returns to the "New Disk" func on
Maintaining the Stack: Throughout this process, the stack maintains the order of func on calls, with new frames being added as new func ons are called, and frames being removed as func ons return
3 Implement and Trace
Trang 37Prac ce implemen ng stacks in the Java programming language Watch the code change with each opera on
Trang 38Figure 12 Implement and Trace Code
Trang 39Figure 13 Implement and Trace Code
Result code:
Trang 40III Using an impera ve de ni on, specify the abstract data type for a so ware stack (P3) 1 De ne the Opera ons
In computer science, the Stack Abstract Data Type (ADT) is a basic data structure It speci es a collec on of opera ons and behaviors for a data structure called a "stack." The Last- -First-Out In
Figure Implement and Trace Result Code14
Trang 41(LIFO) principle is followed by the Stack ADT, which implies that the last element added to the stack is the rst to be deleted The major opera ons speci ed in the Stack ADT are as follows: push(item): This opera on adds an item to the top of the stack It involves the following
steps:
o Increment the stack pointer to accommodate the new item
o Place the new item at the top of the stack.
Ngày đăng: 06/05/2024, 15:00
Xem thêm:
Tài liệu cùng người dùng
Tài liệu liên quan