# Itec 3220 - people.math.yorku.ca

ITEC 2620M Introduction to Data Structures Instructor: Prof. Z. Yang Course Website: http://people.math.yorku.ca/~zy ang/itec2620m.htm Office: DB 3049 Stacks and Queues Stack-based Recursion

Computers use stacks to manage function calls/function returns. When a function is called, data is pushed onto the stack When a function finishes, data is popped off the stack Rather than using the computers stack, we can use our own to implement recursion! Binary tree traversal

3 Stacks and Recursion Any recursive algorithm can be implemented non-recursively. Do you have to use a function that calls itself? No. You can use a stack to implement recursion Do you have to use a recursive

algorithm? Yes. How do you traverse a binary tree without a recursive algorithm? 4 Queues A queue is a First-In, First-Out = FIFO buffer. e.g. line-ups people enter from the back of the line

people are served (exit) from the front of the line When elements are added, they are enqueued to the back. When elements are removed, they are dequeued from the front. enqueue() and dequeue() are the two defining functions of a queue. Example Link-based Queue

5 Priority Queues Previous queues were based on entry order (e.g. LIFO, FIFO). Priority queues are based on item value. Stacks and queues arent designed for searches. BST could work, but there is more

overhead than we need. dont need completely sorted queue only need first element 6 Heaps and Heapsort Key Points Heaps Make a heap Heapsort

8 Heaps Complete binary tree Partially ordered max heap the value of every node is greater than its children min heap the value of every node is smaller than its children

No relationship between siblings, only ancestors (updown) BST has left-right relationships. 9 Removing the Minimum Value Minimum value is at root, so we should remove this element. How do we maintain a complete binary tree?

Put last value at the root and sift down Switch the value with the smallest of its children continue Heap property is maintained. 10 Inserting a new value How do we maintain a complete binary tree?

Put value at the bottom and sift up Heap property is maintained. 11 Complexity Analysis Remove minimum Best value stays at depth 1 O(1) Worst value goes back to bottom

O(logn) Average value goes half way O(logn) Insert Best value stays at bottom O(1) Worst value goes to top O(logn) Average value goes half way O(logn) 12

Making a Heap Array representation Make a heap Analysis of building a heap Heapsort 13

## Recently Viewed Presentations

• Adjective phrase He ran into the house to get out of the storm. Adverb phrase The clouds gathered and darkened at a rapid rate. Adverb phrase The town on the southern tip of Alabama got the most rain. Adjective phrase...
• * CPPB established a year ago. Chaired by DF. Representation from Chief Exec, Medical and Nursing Directors, Patient Groups, BMA SGPC, CCLG * 2 portal already No more than 2 others Common look and feel to portals * Top 20...
• The new instrumentalism and vocationalism, together with the managerialist desire for control and emphasis on image management in market-driven systems of education, means intensified public srutiny.
• The Orangeburg Massacre February 8, 1968 Tragedy: Timeline of Events 1960: Sit-in protests at SC State College 1963: SC State student refuses to leave local restaurant demanding desegregation 1964: Passage of the Civil Rights Act 1968: All Star Bowling Lane...
• While I was in the Washington DC area, I did some odd jobs. Half time at University of Maryland didn't pay all that well. ... SusuNousala, who Roger knows, was an RMIT student who I mentored through the first part...
• Moss and Fern Life Cycles Group 1: Seedless, Nonvascular Plants Live in moist environments to reproduce Grow low to ground to retain moisture (nonvascular) Lack true leaves Common pioneer species during succession Gametophyte most common (dominant) Ex: Mosses, liverworts, hornworts...
• INTRODUCING THE THEORY OF CONSTRAINTS John F. DeVogt, Ph.D. Professor of Management Emeritus Williams School of Commerce Washington and Lee University Lexington, Virginia ABOUT TOC TOC applies the methods used by the "hard" sciences to understand and manage the material...
• CUCC Strategy This strategy should be used whenever you are required to read and respond to some Limited Writing Process (LWP's) Prompts and to ALL CONTENT questions. C = Circle U = Underline C = Count C = Check Off...