Algorithms · Graph optimization and traversal algorithms
Let T[0..n-1] be a text and P[0..m-1] a pattern over the same alphabet, where 1≤ m≤ n
Problem
Let \(T[0..n-1]\) be a text and \(P[0..m-1]\) a pattern over the same alphabet, where \(1\le m\le n\). The naive matcher tries every shift \(s\in\{0,\ldots,n-m\}\), comparing pattern positions from left to right until the first mismatch or a complete match. 1. Trace the algorithm on \(T=\texttt{AABAACAADAABAABA}\) and \(P=\texttt{AABA}\), listing the compared pattern positions and result at every shift. 2. Prove that exactly the occurrence shifts are reported. 3. Give a tight worst-case character-comparison bound in \(n,m\), and provide a two-character-alphabet family attaining it up to a constant factor for every valid \(n,m\).
Hint
** At one shift, comparisons stop at the first mismatch.
Check your work
Work the problem yourself first. Then open it in Training to check your answer and read the full worked solution.
The answer check and full solution for this problem come with ProofAnvil Practice membership ($19 USD monthly). See membership. Or start with the free Algorithms sample problem: Try the free sample problem.
More Algorithms practice problems
- Let all logarithms have base 2, and let all functions have domain the positive integersCorrectness proofs and asymptotic complexity
- There are n jobs in fixed order with positive integer sizes s_1,…,s_n, and d≥1…Correctness proofs and asymptotic complexity
- Two disjoint color classes contain r≥1 red and b≥1 blue planar pointsDivide-and-conquer algorithms
- Using only comparisons, return both minimum and maximum among n≥1 distinct keysDivide-and-conquer algorithms
- Consider the invalid coding rule that repeatedly combines the two partial trees of…Greedy algorithms and exchange proofs
- The n vertices of a cycle are numbered 1,…,n, and vertex i has an integer weightGreedy algorithms and exchange proofs
- Given an undirected graph with up to five million vertices, produce exactly the…Dynamic programming and state design
- Prim’s algorithm starts at an arbitrary root and repeatedly adds a minimum-weight edge…Dynamic programming and state design
- Consider SET COVER parameterized by the universe size p=|U|, while the number m of…Reductions, NP-completeness, and approximation