- Ethan Geismar and Alexa Bosworth (Topic:
**Efficient storage of financial information to serve as training sets for profitable money management**) - Shannon Robinson (Topic:
**Ask the StackOverflow Developer Survey**) - Bridget Collins (Topic:
**Input Alphatizer**) - Michael Ecke (Topic:
**Use Neural Networks to measure the accuracy of the spread of college football games**) - Xiao Liang and Haotian Zhang (Topic:
**Using Gene Expression Signature to connect genes and drugs**)

All presentations are stored here.

]]>To provide the password, please first visit this page over https:

]]>There are three towers (labeled ‘A’, ‘B’ and ‘C’), and a number of disks (say, n) of different sizes which can slide onto any tower. The puzzle starts with the disks in a neat stack in ascending order of size on one tower (labeled ‘A’), the smallest at the top, thus making a conical shape.

The objective of the puzzle is to move the entire stack to another tower (labeled ‘B’), obeying the following rules:

- Only one disk may be moved at a time.
- Each move consists of taking the upper disk from one of the towers and sliding it onto another tower, on top of the other disks that may already be present on that tower.
- No disk may be placed on top of a smaller disk.

With three disks, the puzzle can be solved in seven moves.

Write a recursive program that takes in “n” as input and prints out the steps to solve this puzzle.

**Starter file**:

Copy the starter file from here:

/comp/15/public_html/labs/lab4/towers_of_hanoi/problem/

**Sample output**:

Number of discs: 3

Steps to move 3 discs from A to B

Move disc from A to B

Move disc from A to C

Move disc from B to C

Move disc from A to B

Move disc from C to A

Move disc from C to B

Move disc from A to B

**Solution**:

The solution files are here.

]]>In the subfield of numerical analysis, a **sparse matrix** is a matrix populated primarily with zeros (Stoer & Bulirsch 2002, p. 619) as elements of the table.

The basic data structure for a matrix is a two-dimensional array. For an *m*×*n* matrix, enough memory to store up to (*m*×*n*) entries to represent the matrix is needed. For storing a 1000×1000 matrix, this will take up 1 million entries. This is quite wasteful if only 1% of the entries are non-zero. Therefore, substantial memory requirement reductions can be realized by storing only the non-zero entries.

**Goal**: Implement a linked-list based data structure to realize a SparseMatrix, that only stores the non-zero elements. Overload the ‘*’ operator and implement the matrix multiplication for the Sparse matrices leveraging the linked-list based data structure.

**Starting files**:

Files to start with are here. Please copy all the files from /comp/15/public_html/homeworks/homework2/problem2/ directory.

**Sample output**:

Enter sm1

Enter the non-zero elements with row and col specification

Row: 0

Col: 1

Entry (0,1) = 5

More? (1/0) 1

Row: 2

Col: 2

Entry (2,2) = 6

More? (1/0) 1

Row: 1

Col: 2

Entry (1,2) = 8

More? (1/0) 0

sm1:

0 5 0

0 0 8

0 0 6

Enter sm2

Enter the non-zero elements with row and col specification

Row: 0

Col: 0

Entry (0,0) = 10

More? (1/0) 1

Row: 1

Col: 1

Entry (1,1) = 100

More? (1/0) 1

Row: 2

Col: 2

Entry (2,2) = 200

More? (1/0) 0

sm2:

10 0 0

0 100 0

0 0 200

Output (sm1 * sm2):

0 500 0

0 0 1600

0 0 1200

Enter sm3

Enter the non-zero elements with row and col specification

Row: 1

Col: 9

Entry (1,9) = 62

More? (1/0) 1

Row: 0

Col: 0

Entry (0,0) = 5

More? (1/0) 1

Row: 5

Col: 6

Entry (5,6) = 51

More? (1/0) 1

Row: 8

Col: 8

Entry (8,8) = 90

More? (1/0) 0

sm3:

5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 62 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 51 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Enter sm4

Enter the non-zero elements with row and col specification

Row: 5

Col: 2

Entry (5,2) = 100

More? (1/0) 1

Row: 0

Col: 0

Entry (0,0) = 23

More? (1/0) 1

Row: 9

Col: 3

Entry (9,3) = 99

More? (1/0) 0

sm4:

23 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 100 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 99 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

Output (sm3 * sm4):

115 0 0 0 0 0

0 0 0 6138 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

The solution files are here.

]]>