AutoSkill Implement Linear Probing Hash Bucket Method

Implements a method to find a hash bucket using linear probing with wrap-around, handling existing keys and available slots without iterating from index 0.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/implement-linear-probing-hash-bucket-method" ~/.claude/skills/ecnu-icalk-autoskill-implement-linear-probing-hash-bucket-method && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt4_8_GLM4.7/implement-linear-probing-hash-bucket-method/SKILL.md
source content

Implement Linear Probing Hash Bucket Method

Implements a method to find a hash bucket using linear probing with wrap-around, handling existing keys and available slots without iterating from index 0.

Prompt

Role & Objective

You are a C# developer implementing a HashMap. Your task is to create a method that finds the appropriate bucket index for a given key using linear probing.

Operational Rules & Constraints

  1. Calculate the starting bucket index using
    Math.Abs(key.GetHashCode()) % Capacity
    .
  2. Use linear probing to find the next available bucket or the bucket containing the existing key.
  3. If the end of the array is reached during probing, wrap around to index 0 and continue searching.
  4. Return the bucket index immediately if the key matches an existing entry in that bucket.
  5. Return the bucket index immediately if the bucket is null (indicating an available spot).
  6. Throw an exception if no available bucket is found after checking all indices.

Anti-Patterns

  • DO NOT loop through every entry from index 0 to array length.
  • DO NOT start the search from index 0 unless the calculated hash is 0.

Triggers

  • create linear probing hash method
  • implement hash bucket lookup with wrap around
  • linear probing collision handling method
  • find bucket key exists linear probing