What is a stable sort?

A sorting algorithm that preserves the order of duplicates. (p642)

What is a hash function?

A function used to manipulate the key of an element in a list to identify its location in the list. (p648)

What is hashing?

The technique used for ordering and accessing elements in a list in a relatively constant amount of time by manipulating the key to identify its location in the list. (p648)

What is collision?

The condition resulting when two or more keys produce the same hash location. (p650)

What is linear probing?

Resolving a hash collision by sequentially searching a hash table beginning at the location returned by the hash function. (p650)

What is quadratic probing?

Resolving a hash collision by using the rehashing formula (HashValue +- I^2) % array-size, where I is the number of times that the rehash function has been applied. (p656)

What is random probing?

Resolving a hash collision by generating pseudo-random hash values in successive applications of the rehash function. (p656)

What is a bucket?

A collection of elements associated with a particular hash location. (p656)

What is a chain?

A linked list of elements that share the same hash location. (p656)

What is radix?

The number of possibilities for each position; the digits in a number system. (p663)

What sorting methods have we discussed?

1) Straight selection sort

2) Bubble sort (two versions)

3) Insertion sort

4) Merge Sort

5) Quick Sort

6) Heap Sort

7) Radix Sort

2) Bubble sort (two versions)

3) Insertion sort

4) Merge Sort

5) Quick Sort

6) Heap Sort

7) Radix Sort

What does sorting mean?

1) The values stored in an array have keys of a type for which relational operators are defined. (We also assume unique keys.)

2) Rearranges the elements into either ascending or descending within the array.

(Slide 2)

2) Rearranges the elements into either ascending or descending within the array.

(Slide 2)

What are key sorting considerations?

Efficiency

- Number of comparisons

- Number of swaps

- Memory space required

- Processing time

Problem goals and requirements

(Slide 3)

- Number of comparisons

- Number of swaps

- Memory space required

- Processing time

Problem goals and requirements

(Slide 3)