Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

2. Suppose you are given an unsorted array A1..], which contains all but one of

ID: 3604069 • Letter: 2

Question

2. Suppose you are given an unsorted array A1..], which contains all but one of the integers in the range 0,... ,n (so exactly one of these elements is missing from A). The problem is to determine the missing integer in O(n) time. Each element of A is represented in binary, and the only operation available is the function bit(i,j), which returns the value of the jth bit of Afi] and takes constant time. Show that using only this operation, it is still possible to determine the missing integer in O(n) time, by giving a divide-and-conquer algorithm. Be sure to explicitly state and then solve the recurrence equation for the running time of your algorithm. (It may simplify your answer if you assume that n is of the form 2% 1 for some integer k; if so, you are free to make this assumption.)

Explanation / Answer

#define _XOPEN_SOURCE 500 #include #include #include #include // constants #define DIM_MIN 3 #define DIM_MAX 9 // board int board[DIM_MAX][DIM_MAX]; // dimensions int d; // prototypes void clear(void); void greet(void); void init(void); void draw(void); bool move(int tile); bool won(void); int main(int argc, string argv[]) {     // ensure proper usage     if (argc != 2)     {         printf("Usage: fifteen d ");         return 1;     }     // ensure valid dimensions     d = atoi(argv[1]);     if (d DIM_MAX)     {         printf("Board must be between %i x %i and %i x %i, inclusive. ",             DIM_MIN, DIM_MIN, DIM_MAX, DIM_MAX);         return 2;     }     // open log     FILE *file = fopen("log.txt", "w");     if (file == NULL)     {         return 3;     }     // greet user with instructions     greet();     // initialize the board     init();     // accept moves until game is won     while (true)     {         // clear the screen         clear();         // draw the current state of the board         draw();         // log the current state of the board (for testing)         for (int i = 0; i
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote