powrót

Ćwiczenia 10 - Struktury grafowe (2 pkt termin: 13:30:00 17-12-2014)

STRUCT-TREE
	root = NIL
STRUCT-NODE
	key = NIL
	p = NIL
	left = NIL
	right = NIL
MAKE-TREE(T,n)
	for i = 1 to n
		new.key = rand(1,100) //new nowy NODE
		x = T.root
		p = NIL
		r = NIL
		while x ≠ NIL
			p = x
			r = rand(1,2)
			if r = 1
				x = x.left
			else
				x = x.right
		new.p = p
		if T.root = NIL
			T.root = new
		else
			if r = 1
				p.left = new
			else
				p.right = new
PREORDER-WALK(x)
	if x ≠ NIL
		write x.key
		PREORDER-WALK(x.left)
		PREORDER-WALK(x.right)
INORDER-WALK(x)
	if x ≠ NIL
		PREORDER-WALK(x.left)
		write x.key
		PREORDER-WALK(x.right)
POSTORDER-WALK(x)
	if x ≠ NIL
		PREORDER-WALK(x.left)
		PREORDER-WALK(x.right)
		write x.key
PRINT-TREE(T)
	WALK-TREE(T.root,0)
WALK-TREE(x,d)
	if x ≠ NIL
		WALK-TREE(x.left,d + 1)
		for i = 1 to d
			write " "
		write x.key
		WALK-TREE(x.right,d + 1)
  1. Preorder - itereacyjnie
  2. Inorder - itereacyjnie
  3. Postorder - itereacyjnie
  4. Liczba węzłów w drzewie (1 pkt termin: 13:30:00 17-12-2014 lub zad.5)
  5. Liczba liści w drzewie (1 pkt termin: 13:30:00 17-12-2014 lub zad.4)