Primary Secondary Clustering

Duration: 3 min

This video lesson is available to enrolled students.

Enroll to watch — ISRO Scientist/Engineer 'SC'

AI Summary

An AI-generated summary of this video lecture.

The lecture details two critical failure modes in open addressing hash tables: primary clustering and secondary clustering. The instructor begins by defining primary clustering, noting it is especially prevalent in linear probing. He explains that when a collision occurs, a record is moved to the next available cell, creating a contiguous cluster of occupied cells. He illustrates this concept with a diagram of a hash table array, marking a collision point and writing out the probe sequence "LH", "L+1", "L+2", "L+3", "L+4". He draws arrows to show how any new record hashed to a position within this cluster causes the cluster to grow, significantly increasing access times.

Chapters

  1. 0:00 2:00 00:00-02:00

    The instructor introduces primary clustering as a major failure mode of open addressing based hash tables. He explains that in linear probing, a record involved in a collision is always moved to the next available hash table cell subsequent to the position given by its hash function. He draws a long rectangular box representing the hash table and marks an 'X' to indicate a collision. He writes "LH" and then "L+1", "L+2", "L+3", "L+4" below the box to represent the linear probe sequence. He draws curved arrows above the box to visualize how new keys landing in the cluster cause it to grow in size by one cell, creating a contiguous block of occupied cells.

  2. 2:00 3:17 02:00-03:17

    The lecture transitions to secondary clustering, which occurs more generally with open addressing modes including linear probing and quadratic probing. The instructor underlines the text stating that a low-quality hash function may cause many keys to hash to the same location. He then demonstrates quadratic probing by writing the sequence "L", "L+1^2", "L+2^2", "L+3^2", "L+4^2" below the hash table diagram. He draws curved arrows to show how keys jump to different locations based on the square of the probe number, but notes that if they start at the same location, they follow the same probe sequence, leading to slow access times.

The video effectively contrasts primary and secondary clustering. Primary clustering creates large contiguous blocks in linear probing, while secondary clustering affects both linear and quadratic probing when hash functions are poor. The instructor uses diagrams and written formulas to clarify how probe sequences differ and how clusters form, providing a clear visual aid for understanding these performance degradation issues in hash tables.