Cisc 160 lab assignment - examine both function


Lab Assignment -

Background - We have discussed, in detail, the function of Stacks and Queues and how they are specifically implemented in Python. To get a better understanding of the utility of these data structures, we will be creating functions which use the data structures and comparing the functionality of each.

The central C has been bolded and turned red to give you a point to focus on.

1. Download the files array_stack.py, exceptions.py, and palindrome.py. from this Moodle page. Use (and do not alter) the ArrayStack object in array_stack.py to implement the is_palindrome_stack function declared in palindrome.py. As mentioned in the associated comment, this function should take a string and use an ArrayStack in a non-trivial way in order to determine if the string, without spaces, without punctuation, and with normalized capitalization, is a palindrome. It should return True if it is a palindrome and False if it is not.

2. Download the file array_queue.py from this Moodle page. Use (and do not alter) the ArrayQueue object in array_queue.py to implement the is_palindrome_queue function declared in palindrome.py. As mentioned in the associated comment, this function should take a string and use an ArrayQueue in a non-trivial way in order to determine if the string, without spaces, without punctuation, and with normalized capitalization, is a palindrome. It should return True if it is a palindrome and False if it is not.

3. Examine both function implementations. Which of these functions is more efficient and why? (Note: You may use Big-O notation as part of your evidence but, even if you determine that they have the same Big-O functionality, you should be able to determine which of the two functions is nominally more efficient.)

4. Download the file postfix.py from this Moodle page. Use (and do not alter) the ArrayStack object in array_stack.py to implement the postfix_calculator function declared in postfix.py. As mentioned in the associated comment, this function should take a string and use an ArrayStack to implement the postfix notation algorithm implemented above. If your implementation encounters any problems during execution, it should throw the RPNError declared and defined in postfix.py.

Lab Requirements -

Download and alter palindrome.py and postfix.py as described above. You may add any additional helper methods as needed. Helper functions should be named with an underscore at the front as they are not designed to be publicly accessible If you add a helper function, be sure to comment it in the same style as the other, included functions.

Additionally, the "testing structure" of if __name__ == '__main__' has been included at the bottom of each file. You should use that section for your test code. I may look at it for understanding of how you are approaching testing but you will not be explicitly graded on code included there.

Attachment:- Assignment Files.rar

Request for Solution File

Ask an Expert for Answer!!
Python Programming: Cisc 160 lab assignment - examine both function
Reference No:- TGS02931918

Expected delivery within 24 Hours