se106 exercise class 7 quiz homework 9 lab 4 review

33
SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

Upload: zoe-reeves

Post on 20-Jan-2018

218 views

Category:

Documents


0 download

DESCRIPTION

Solution 1 C Radix sort efficiency is O(d·n) for n keys which have d or fewer digits. In general d cannot be considered a constant.

TRANSCRIPT

Page 1: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

SE106 Exercise Class 7

QuizHomework 9

Lab 4Review

Page 2: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

Solution 1

A: Impossible

B: push 1, 2, 3, pop 3, 2, push 4, 5, pop 5, push 6, pop 6, 4, 1

C: Impossible

D: Impossible

Page 3: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

Solution 1

C

Radix sort efficiency is O(d·n) for n keys which have d or fewer digits.

In general d cannot be considered a constant.

Page 4: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

Solution 3Hint:

Use in-order traverse and reverse in-order traverse simultaneously.

Use the stack to save the traverse route.

Page 5: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

Solution 3

Page 6: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

Homework [email protected]

Page 7: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

Problem’s problem

• Not using a priority queue.(not so efficient)

• Wrong in-output format

• not using -1 to indicate that the node is not reachable.

• The first n means [0,n] inclusively.

Page 8: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

Solution

Page 9: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

Solution

Page 10: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

Solution

Page 11: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

Lab4

Page 12: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

Lab4

• 迟交• Trace07

• 压缩解压后文件不同• 不是最优的 Huffman-Tree

Page 13: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

• Huffman 树如何存• 保存映射关系

• 变长• 定长

• 保存节点信息• 直接读取得到树

• 保存出现次数• 读取次数重建树

Lab4

5130309006 汤劲戈5130379005 殷国航

Page 14: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

Review

Page 15: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L1 : Template Structures• Shallow vs. Deep Copying• Total template specialization• Partially specialize a function template• Generic Programming• Parametric type• Iterator• Algorithm / Functor

Page 16: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

TMP: Template metaprogramming

Effective C++ Item 48

Page 17: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L3 : Smart Pointers

Page 18: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L4 : Collection ClassesVector Grid Stack Queue Map Set

collection ordering benefits weaknesses

array by index fast; simple little functionality; cannot resize

Vector by insertion, by index

random access; fast to modify at end

slow to modify in middle/front

Grid by index, 2D great for 2D data must be rectangularStack LIFO simple; fast little functionality

Queue FIFO simple; fast little functionalitySet sorted order sorted; pretty fast must be comparable

HashSet unpredictable very fast unorderedMap sorted order sorted; pretty fast must be comparable

HashMap unpredictable very fast unordered

Page 19: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L5-6 : Recursion• Recursive Strategies• Recursive Backtracking• Recursion VS Iteration• Tail-recursion

Page 20: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L7 : Sorting and Efficiency

Page 21: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L8 : Maps and Hashing

Let λ = n / m (load factor)Unsuccessful Search

Successful Search

Chaining 1+α

1 + α (1 + average number before element in chain)

Open Addressing( assuming uniform hashing )

1 / (1 – α)

Page 22: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L9-10 : Expression Tree and Parsing Strategies

Page 23: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L11 : BST-Binary Search Trees

If you process the current node before either recursive call, the result is a preorder traversal.If you process the current node after the recursive call on the left subtree but before the recursive call on the right subtree, the result is an inorder traversal. In the case of the simple BST implementation that uses strings as keys, the keys will appear in lexicographic order.If you process the current node after completing both recursive calls, the result is a postorder traversal. Postorder traversals are particularly useful if you are trying to free all the nodes in a tree.

Page 24: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L12-13 : AVL Tree

Page 25: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L14-15 : Red-Black Tree

Page 26: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L16 : Huffman Coding

Page 27: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L16 : MinHeap and HeapSort

Page 28: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L17 : Splay Trees

Page 29: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L18-19 : GraphsDijkstra’s Algorithm

Minimum Spanning Tree

Page 30: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L20 : B Tree/B+ Tree

Page 31: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L21 : General Tree and Forest

Page 32: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

L22 : Sets

Page 33: SE106 Exercise Class 7 Quiz Homework 9 Lab 4 Review

Merry Xmas !