Five more classes left
•	Today review the assignment #5, matrix multiplication and assignment #6
•	Friday: Heap sort
•	Monday: m-way tress, B-Trees
•	Wed. and Easter Monday (Review)
•	Passing two dimensional arrays
•	Assume that your net size doesn’t exceed N
•	In the main: const N = 20;
•	char locks[N][6]
•	char keys[5][6]
•	Readlocks(locks); // call
•	void Readlocks(char locks[][6])
•	Same thing for Readkeys
•	DeleteInaccessible(Net, locks, keys)
•	void DeleteInaccessible(Network& Net, char locks[][6], char keys[][6])
•	bool CheckPassword(char lock[], char keys[][6])
•	for loop
•	if(!strcmp(lock,keys[i])) return true
•	return false
	Assignment #6
•	if size == 2
•	result = winograd(*this(1,1),.....,m(1,1),...,m(2,2))
•	else
•	change the matrix *this and m to 2 by 2
•	SMatrix<T> a11(n/2,n/2), .....
•	make_2X2(*this, a11, a12,a21,a22);
•	make_2X2(m,b11,....);
•	result = winograd(a11,a12,.....,b22);
•	real_result = unmake_2X2(result)
•	Note that there will be two different functions called winograd. 
•	One with doubles as parameters,
•	another with Smatrix<double> as paramters. 
•	The mutiplications inside winograd will make indirect recursive call to the multiplication operator
•	make_2X2
•	Example for lower right corner
for (i = n/2+1; i <= n; i++)
      for (j = n/2+1; j <= n; j++)
         _a22(i-n/2,j-n/2) = _A(i,j);
•	unmake_2X2
•	Upper right
for (i = 1; i <= n/2; i++)
      for (j = n/2+1; j <= n; j++)
         _AA(i,j) = _A(1,2)(i,j-n/2);
•	Lower left
   for (i = n/2+1; i <= n; i++)
      for (j = 1; j <= n/2; j++)
         _AA(i,j) = _A(2,1)(i-n/2,j);

Heaps, priority queues
•	Heaps are binary trees
•	Either empty
•	or have a root and left and right subtrees which are also heaps.
•	the item in the root is larger than the items in the left and right subtrees (over specification)
•	Priority queues
•	are best implemented using heaps
•	the operations can be reduced to O(log n)
•	Our GetNext in Dijkstra was poorly written O(n^2)
•	If we used heap, we will need O(log n)
•	Creating the heap will be done outside the while loop and will take O(n log n)
•	Exercise:
•	Array: 56, 78, 98, 45, 88, 100, 76, 77, 70
•	Draw corresponding binary tree.