Specify lookup rules and edge cases
See this course’s project requirements
A tested Python catalog search with linear and binary methods, comparison counts, sortedness checks and a justified method choice.
Keep your working files in your own notebook or software. Save a private description, checklist, and work link in My Proof.
What to include
- A three-case lookup contract with results 5,-1,-1.
- A linear-search trace with six and seven comparisons.
- A sortedness rule and two-step interval trace.
- A terminating binary-search implementation and boundary trace.
- A cost comparison distinguishing lookup from total work.
- A checked algorithm-comparison packet with honest measurement limits.
Review and revise
Use these criteria to check your work and choose what to improve.
- The implementation or declared simulation follows the supplied contract and retains inspectable original inputs.
- Normal, boundary and rejected cases are recorded with expected versus observed results.
- The changed case has a correct explanation and does not rely on hidden state.
- The project includes source, outputs, instructions and honest tool, privacy and verification limits.
Want more background?
The idea in everyday life
Catalog IDs are [12,18,25,31,44,52,67], indexed from 0. Target 52 is present; target 30 is absent. Duplicate policy permits any matching index.
A lookup contract names what a match means and how absence is represented. An index locates a position; it is not the value itself. This practice returns any matching index, or -1 when absent.
Specify lookup rules and edge cases — original worked practice
A lookup contract names what a match means and how absence is represented. An index locates a position; it is not the value itself. This practice returns any matching index, or -1 when absent.
Catalog IDs are [12,18,25,31,44,52,67], indexed from 0. Target 52 is present; target 30 is absent. Duplicate policy permits any matching index.
1. Step 1
Write the index beside each ID.
You should see: ID 52 has index 5.
This keeps the rule and its observable result together.
2. Step 2
State the absent-result convention.
You should see: Target 30 returns -1, not index 0.
This keeps the rule and its observable result together.
3. Step 3
Write empty and duplicate cases before implementation.
You should see: An empty catalog returns -1; either matching index is allowed for a duplicate.
This keeps the rule and its observable result together.
4. Step 4
Create an input/expected table for 52, 30 and an empty catalog.
You should see: A three-case lookup contract with results 5,-1,-1.
This keeps the rule and its observable result together.
What to finish
A three-case lookup contract with results 5,-1,-1.
Watch for this
Changing the lookup contract from an ID match to a nearest-number result without naming that change.
How can I tell I understand it?
Explain and demonstrate the required distinction: A lookup contract names what a match means and how absence is represented. An index locates a position; it is not the value itself. This practice returns any matching index, or -1 when absent. Show a changed input and the expected result without weakening this contract.
Quick knowledge check
Answer all 3 questions. Get at least 2 right and the lesson completes automatically.
You’ll get an explanation for each answer. Signed in? Your results save to your account.
Pass the check. We’ll save the progress.
Answer all 3 questions above and get at least 2 right. You can review the explanations and try again.
Go to the knowledge checkTools, templates, and lesson sources
Tools and templates
Tools open in a new tab so you can keep your place here.
Sources and further reading
Explore the references behind this lesson.
Source & access notes · checked 2026-10-01
Relevant documented module/API behavior inspected during expansion authoring; actual execution evidence is recorded separately. No grant eligibility is established.
Access: Official page retrieved with the web reader on 2026-10-01. Documentation reading does not certify execution in every native tool or browser.
Reuse: Original local practice files, fictional data, worked examples and questions. Concepts paraphrased and linked; source exercises are not copied.
Report a problem with this lesson
Tell us what went wrong. Please leave out personal information and private project contents.