Implement the Boyer-Moore algorithm
Document Preview:
1. (60 points) Implement the Boyer-Moore algorithm using any programming language you prefer. Your program should ask the user to enter a text and a pattern, then output the following: (a) bad-symbol table (b) good suffix table (c) the searching result (whether the pattern is in the text or not) Please make sure that the good suffix table is generated correctly. Use the following examples to test your program before submitting your assignment. Examples: Good suffix table for the pattern BAOBAB k = 1 d2 = 2; k = 2, d2 = 5; k = 3 d2 = 5; k = 4 d2 = 5; k = 5 d2 = 5 Good suffix table for the pattern AACCAC k = 1 d2 = 2; k = 2, d2 = 3; k = 3 d2 = 6; k = 4 d2 = 6; k = 5 d2 = 6 Good suffix table for the pattern AACCAA k = 1 d2 = 1; k = 2, d2 = 4; k = 3 d2 = 4; k = 4 d2 = 4; k = 5 d2 = 4 Good suffix table for the pattern 10000 k = 1 d2 = 3; k = 2, d2 = 2; k = 3 d2 = 1; k = 4 d2 = 5 Good suffix table for the pattern 01010 k = 1 d2 = 4; k = 2, d2 = 4; k = 3 d2 = 2; k = 4 d2 = 2 2. (40 points) Design a greedy algorithm to solve the activity selection problem. Suppose there are a set of activities: a1, a2, ... an that wish to use a lecture hall. Each activity ai has a start time si and a finish time fi. A lecture hall can be used by only one activity at a time. Two activities can be scheduled in the same lecture hall if they are non-conflicting (fi <= sj or fj <= si ) Your algorithm should find out the minimum number of lecture halls needed to hold all the activities. Write a program to implement your algorithm. For example: if the activities you need to schedule have the following start times and finish times, 4 7 6 9 7 8 1 3 1 4 2 5 3 7 then the output of your program is “the minimum number of lecture halls required is 3”. Also indicate which activity will be scheduled in which lecture hall. 3. (50 points) Write a program to...
10 years ago
Purchase the answer to view it
- implement_the_boyer-moore_algorithm.docx
- implement_the_boyer-moore_algorithm.txt