In C11, we mentioned solving a problem is like peeling an onion :) - That's the process of developing an algorithm. The other part of developing a great program is data structure. What are data structures then?

A. ** Data structures** provide different ways to organize and store data for processing. For example, arrays organize a sequence of data in a 1-D or 2-D structure.

B. Three more data structures: binary search trees, queues and stacks. See Kahoot!

A

is composed of nodes having three parts: information (or a key), a pointer to a left child, and a pointer to a right child. It has the property that the key at every node is always greater than or equal to the key of its left child, and less than the key of its right child.*binary search tree*Each node in the tree has a

: number of paths from the root. The root node has a depth of 0. The sum of depth of each node is called*depth*.*Internal Path Length*Both

and*stacks*support ONLY two operations:*queues***PUSH**and**POP**.A stack is a “push-down” storage or a “

**LIFO**” storage.A queue is a "wait in line" structure or a "

**FIFO**" storage.

C. Challenge of the week: #1 and #2 in 2006-07c4jr.doc and 2009-10c4jr.doc

2006-2007

1) 4

2) ??

2009-2010

1) 6

2) ???

2006

1. 4

2. R

2009

1. 5

2. C

2009

1.8

2.D

2006

1. 4

2. T

2009

1.6

2.D