csci2100 09 final
DESCRIPTION
FinalTRANSCRIPT
![Page 1: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/1.jpg)
CSC2100-Data Structures
Final Remarks Department of Computer Science and Engineering The Chinese University of Hong Kong, Shatin, New Territories
![Page 2: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/2.jpg)
CSC2100B - I. King 2
Interesting Topics
● More Graph Algorithms – Finding cycles, graph coloring
● Dynamic Programming – Example: Given the currency {.1, .2, .5,
1, 2, 5, 10}, how to give a change using the fewest number of coins?
![Page 3: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/3.jpg)
CSC2100B - I. King 3
Final Examination Information
● When: Thursday, April 28, 2016 ● Time: 9:30 am - 11:30 am ● Where: Multipurpose Hall,
Pommerenke Student Centre ● Close-book, One sheet of notes (2
pages) – No calculator – Extra paper will be provided – Short answers
![Page 4: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/4.jpg)
CSC2100B - I. King 8
Final Examination
● Everything from the 1st class ● Emphasis on
– Graphs – Searching – Hashing – Sorting
![Page 5: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/5.jpg)
CSC2100B - I. King 9
Abstract Data Type
Specifications:
Description of the function.
Implementation:
How to actually make it work!
Array, list, linked list, queue, stack, heap, tree, binary search tree, graph, etc.
• What is the difference between specifications and implementation?
• What is the relationship between data structures and algorithms?
![Page 6: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/6.jpg)
CSC2100B - I. King 10
Abstract Data Type
Mathematical Analysis
• How fast can we operate using a particular data structure and algorithm?
• How much memory space does a particular data structure and algorithm take?
Lower bound
Upper bound
Exact bound
Big-O notation
Common orders
![Page 7: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/7.jpg)
CSC2100B - I. King 11
Abstract Data Type
Mathematical Analysis
• Basic data structures found in many programs.
• How can we combine these data structures?
List vs. Array
Queue vs. Stack
Double Linked List
List, Stacks, & Queues
![Page 8: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/8.jpg)
CSC2100B - I. King 12
Abstract Data Type
Mathematical Analysis
• Tree is a very efficient data structure to store information.
• Variations on the tree can be used in different algorithms.
Trees
Binary Trees
Binary Search Trees
B-Tree
AVL Tree List, Stacks, &
Queues
Trees
![Page 9: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/9.jpg)
CSC2100B - I. King 13
Abstract Data Type
Mathematical Analysis
• Hashing is a way to transform objects in one domain into another domain.
• It is efficient to locate an object, but can’t keep the ordering.
Hashing DS
Hashing Functions and Techniques
Collision Policies List, Stacks, &
Queues
Trees
Hashing
![Page 10: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/10.jpg)
CSC2100B - I. King 14
Abstract Data Type
Mathematical Analysis
• Heap is a priority list which is most efficient when a priority is needed.
• It has a relative ordering, but not an exact one.
Heap DS
Insertion
Deletion
Initialization
List, Stacks, & Queues
Trees
Hashing
Heaps
![Page 11: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/11.jpg)
CSC2100B - I. King 15
Abstract Data Type
Mathematical Analysis
• Sorting is a very important topic.
• Make sure you know the differences of the algorithms well.
• Stability issues.
• Invariant in the Quick Sort.
Bubble Sort
Insertion Sort
Selection Sort
Heap Sort
Shell Sort
Merge Sort
Quick Sort
List, Stacks, & Queues
Trees
Hashing
Heaps
Sorting Algorithms
![Page 12: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/12.jpg)
CSC2100B - I. King 16
Abstract Data Type
Mathematical Analysis
• Graph Theory is important in many areas of CS.
• Important to know the exact way to express the algorithm on graphs.
Graph DS Adjacency Matrix Definition of Connectivity
Topological Sort
Shortest Path
Minimum Cost Spanning Tree
Maximum Flow
List, Stacks, & Queues
Trees
Hashing
Heaps
Sorting Algorithms
Grap
h D
ata
Stru
ctur
es a
nd
Alg
orit
hms
![Page 13: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/13.jpg)
CSC2100B - I. King 18
Examination Questions ● Define the big-O, omega, and small-o function
and show how they work. ● Program Analysis ● Heaps
– Given a list of numbers, show how some of the operations, e.g., insertion, deletion, etc. can be performed on these numbers.
● Hashing – Given a list of numbers, show how the processing of
different collision policies affect the outcome.
![Page 14: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/14.jpg)
CSC2100B - I. King 19
Examination Questions
● Sorting – Define what is an inversion. – Given a sequence of unordered numbers, show and
illustrate the sorting process for a particular sorting algorithm.
● Graph Theory – Given a graph, show how to obtain (1) topological sort,
(2) minimum cost spanning tree, (3) shortest path, and (4) maximum flow using the tables or figures shown in the class.
![Page 15: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/15.jpg)
CSC2100B - I. King 20
Others
● All grades are final before the final examination (with the exception of the last homework assignment).
● The extra credit problem is due on the deadline.
● Welcome to drop by my or TA’s office for discussion.
![Page 16: Csci2100 09 Final](https://reader037.vdocuments.mx/reader037/viewer/2022100212/577c7f851a28abe054a4eeb5/html5/thumbnails/16.jpg)
CSC2100B - I. King 21
Education’s purpose is to replace
an empty mind with Malcolm S. Forbes
an open one.