general info

34
General Info General Info Check out gilgarn.org

Upload: tanner

Post on 05-Jan-2016

22 views

Category:

Documents


0 download

DESCRIPTION

General Info. Check out gilgarn.org. QUIZ. DO YOU: Love CSC 171 ? Want a job? Like to exert power over others? Want to improve CSC education @ UR? DID YOU: Do well (A or B) in 171? Think Workshops were helpful? CAN YOU: Stand looking at me for another semester?. IF YOU:. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: General Info

General InfoGeneral Info

Check out gilgarn.org

Page 2: General Info

QUIZQUIZDO YOU:

– Love CSC 171 ?– Want a job?– Like to exert power over others?– Want to improve CSC education @ UR?

DID YOU:– Do well (A or B) in 171?– Think Workshops were helpful?

CAN YOU:– Stand looking at me for another semester?

Page 3: General Info

IF YOU:IF YOU: Answered “YES” to most of the above questions THEN:

– Consider serving as a WORKSHOP LEADER

BENEFITS:– FAME, MONEY, POWER– LOOKS GOOD ON YOUR RESUME– DO SOMETHING GOOD FOR HUMANITY

INTEREST MEETING: – THURS (3/25) 5:15PM – LAS, basement of Lattimore

Page 4: General Info

TreesTrees

CSC 172

SPRING 2004

LECTURE 14

Page 5: General Info

ListsListsWe have seen lists:public class Node {

Object data;Node next;

}

Page 6: General Info

TreesTreesNow, look at trees:

public class Node {Object data;Node left;Node right;

}

Page 7: General Info

Rooted TreesRooted Trees

Collection of nodes, one of which is the root

Nodes != root have a unique parent node

Each non-root can reach the root by following parent links one or more times

Page 8: General Info

DefinitionsDefinitions

If node p is the parent of node c

then c is a child of p

Leaf : no children

Interior node : has children

Path : list of nodes (m1,m2,…,mk) such that each is the parent of the following

path “from m1 to mk”

Path length = k-1, number of links, not nodes

Page 9: General Info

If there is a path from m to n, then m is an ancestor of n and n is a descendant of m

Note m == n is possible

Proper ancestors, descendants : m != n

Height of a node n is the length of the longest path from n to a leaf

Height of a tree is the height of its root

Depth of a node is the length of the path from the root to n

Subtree rooted at n is all the descendants of n

Page 10: General Info

The children of any given note are often ordered “from the left”

Child c1 is to the left of c2 then all the nodes in the subtree rooted at c1 are “to the left” of those in the subtree rooted at c2

Nodes may have labels, which are values associated with the nodes

Page 11: General Info

Example: UNIX File SystemsExample: UNIX File Systems

/

/bin /dev /usr…

/dev/term /dev/sound /dev/tty01.

/usr/anna /usr/jon /usr/ted

Page 12: General Info

Example: Expression TreesExample: Expression Trees

Labels are operands or operators

Leaves : operands

Interior nodes : operators

Children are roots of sub-expressions to which the operator is applied

Page 13: General Info

(x+1)*(x-y+4)(x+1)*(x-y+4)

x 1

x y

*

+ -

- 4

Page 14: General Info

Recursion on TreesRecursion on Trees

Many algorithms to process trees are designed with a basis (leaves) and induction (interior nodes)

Example: If we have an expression tree we can get

infix (operator between operands - common)

prefix (operator before operands – like function calls)

postfix (operator after operands – good for compilers)

Page 15: General Info

Expression Tree to PostfixExpression Tree to Postfix

Basis

For a leaf, just print the operand

Induction:

For an interior node

apply algorithm to each child from left

print the operator

Page 16: General Info

(x+1)*(x-y+4)(x+1)*(x-y+4)

x 1

x y

*

+ -

- 4

x 1 + x y – 4 - *

Page 17: General Info

General TreesGeneral TreesSome trees are binary:

public class Node {

Object data;

Node left;

Node right;

}

Page 18: General Info

Some trees are not binarySome trees are not binary

/

/bin /dev /usr…

/dev/term /dev/sound /dev/tty01.

/usr/anna /usr/jon /usr/ted

How do we implement such trees?

Page 19: General Info

LMC-RSLMC-RSLeftmost-Child, Right-Sibling Tree Representation

Each node has a reference to

1. It’s leftmost child

2. It’s right sibling – the node immediately to the right having the same parent

Advantage: represents trees without limits or pre-specified number of children

Disadvantage: to find the ith child of node n, you must traverse a list n long

Page 20: General Info

LMC-RSLMC-RS

public class Node {

Object data;

Node l_child;

Node r_sibling;

}

Page 21: General Info

Structural InductionStructural Induction

Basis = leaves (one-node trees)

Induction = interior nodes (trees with => 2 nodes)

Assume the statement holds for the subtrees at the children of the root and prove the statement for the whole tree

Page 22: General Info

Tree Proof ExampleTree Proof Example

Consider a LMC-RS tree

S(T): T has one more reference than it has nodes

Basis: T is a single node – 2 references

Page 23: General Info

InductionInduction

T has a root r and one or more sub trees T1, T2,…,Tk

BTIH: each of these trees, by itself has one more than nodes

How many nodes all together?How many references?How many nodes do I add to make one tree?How many references do we reduce to make one

tree?

Page 24: General Info

T1

n1 nodes

n1+1

T2

n2 nodes

n2+1

Tk

nk nodes

nk+1

nodesnk

ik

1

)1(1

k

ikn knodes

? ? ?

One more nodeOne more Still “k” extra

Page 25: General Info

T1

n1 nodes

n1+1

T2

n2 nodes

n2+1

Tk

nk nodes

nk+1

nodesnk

ik

1

)1(1

k

ikn knodes

? ? ?

One more nodeOne more Still “k” extra

How many less?

Page 26: General Info

Example: Pair QuizExample: Pair Quiz

S(T): A full binary tree of height h

has (2h+1 – 1) nodes

Basis?

Induction?

Page 27: General Info

Example:Example:

S(T): A full binary tree of height h has 2h+1 – 1 nodes

Basis?

Nodes = 1, height == 0, 20+1-1 = 1

Induction?

Page 28: General Info

T1

h height2 h+1-1 nodes

nodeshh 1)12()12( 11

Height = h+1

T2

h height2 h+1-1 nodes

nodesh 12 2

Page 29: General Info

Why Structural Induction?Why Structural Induction?

Q: Why do I want you to draw the pictures?A: We know you can do the algebra. As

you move on, the difficult part of the proofs is “setting up” the proof, from some situation. Sure, if someone sets it up for you, it’s just an “exercise” to solve. The real value is in being able to reason about a situation so as to set up a proof.

Page 30: General Info

ProcessProcess

Real worldphenomenaor artifact

FormalRepresentation

“set up” of proof

RigorousKnowledgeInformal

reasoningabstraction

analysis

Formal techniques:induction,algebra

Page 31: General Info

Kraft’s InequalityKraft’s Inequality

Suppose that a binary tree has leaves {l1,l2,..lM} at depths {d1,d2,...,dM}, respectively.

Prove:

121

M

i

di

Page 32: General Info

How do you set this up?How do you set this up?

Page 33: General Info

How do you set this up?How do you set this up?

Basis:In a tree with zero nodes, the sum is zeroIn a tree with one node

– One leaf, depth 0

Page 34: General Info

T1

∑1<=1T2

∑2<=1

Same number of total leaves, all depths increase by 1

So, in new Tree ∑1<=1/2 && ∑2<=1/2