Data Structures and Algorithm Analysis

Our professional writers will address all you homework
requirements and provide a quality paper with guarantees of 100% plagiarism free.
We provide 24/7 customer Support.

Order Research Paper In a Few Clicks



    Get my paper done

    By clicking “Get my paper done”, you agree to our terms of service and privacy policy. We’ll occasionally send you promo and account related emails.

    Data Structures and Algorithm Analysis

    Data Structures and Algorithm Analysis 1. How much memory will the following structures take up? Hint: int takes 4 bytes, float takes 4 bytes, char takes 1 byte. – 9 points a. struct Structure1 {int a,b,c,d,e[10]; float f;}; b. struct Structure2 {int a[12]; float b[5];}; c. struct Structure3 {char a[10][12][4], b[5][5], c[10];}; 2. Show the steps when sorting (smallest to largest) the following arrays of numbers using selection sort i.e. every time a swap occurs, show what the current state of the array looks like, including the final sorted array. – 12 points a. [10, 2, 5, 8, 9, 1, 4, 7] b. [7, 1, 3, 2, 5, 4, 8, 12, 9] c. [8, 7, 6, 5, 4, 3, 2, 1] d. [5, 3, 8, 1, 9, 4, 2, 6]

    Data Structures and Algorithm Analysis

    1. How much memory will the following structures take up? Hint: int takes 4 bytes, float takes 4 bytes, char takes 1 byte. – 9 points

    a. struct Structure1 {int a,b,c,d,e[10]; float f;};

    b. struct Structure2 {int a[12]; float b[5];};

    c. struct Structure3 {char a[10][12][4], b[5][5], c[10];};

    2. Show the steps when sorting (smallest to largest) the following arrays of numbers using selection sort i.e. every time a swap occurs, show what the current state of the array looks like, including the final sorted array. – 12 points

    a. [10, 2, 5, 8, 9, 1, 4, 7]

    b. [7, 1, 3, 2, 5, 4, 8, 12, 9]

    c. [8, 7, 6, 5, 4, 3, 2, 1]

    d. [5, 3, 8, 1, 9, 4, 2, 6]

    3. Big-O: What is meant by f(n) = O(g(n))? Give the definition and then explain what it means in your own terms. – 5 points

    4. Big-Omega: What is meant by f(n) = Ω(g(n))? Give the definition and then explain what it means in your own terms. – 5 points

    5. Show that , make sure you use the definition and justify the inequalities and constants used. – 4 points

    6. Show that , make sure you use the definition and justify the inequalities and constants used. – 4 points

    7. Show that , make sure you use the definition and justify the inequalities and constants used. – 4 points

    8. Show that , make sure you use the definition and justify the inequalities and constants used. – 4 points

    9. Show that , make sure you use the definition and justify the inequalities and constants used. – 4 points

    10. What principle governs how you add/remove elements in a stack? Spell it out and briefly explain. – 4 points

    11. Briefly describe an application of a stack. – 4 points

    12. What principle governs how you add/remove elements in a queue? Spell it out and briefly explain. – 4 points

    13. Briefly describe an application of a queue. – 4 points

    Consider the following graph (pseudocode for BFS and DFS given on page 9):

    14. Write the order in which the nodes would be visited in when doing a breadth first search (BFS) traversal starting at node 4. Also, write the distances from 4 to every other node. – 6 points

    15. Write the order in which the nodes would be visited in when doing a breadth first search (BFS) traversal starting at node 5. Also, write the distances from 5 to every other node. – 6 points

    Same graph (for your convenience):

    16. Write the order in which the nodes would be visited in when doing a depth first search (DFS) traversal starting at node 4 (order discovered or order off the stack). – 6 points

    17. Write the order in which the nodes would be visited in when doing a depth first search (DFS) traversal starting at node 5 (order discovered or order off the stack). – 6 points

    18. Give the definition of a graph. – 5 points

    19. Give the definition of a tree (from graph theory). – 4 points

    BFS Pseudocode (for     graph with n vertices):

    Input: grapharray[n][n], source

    queue<int> Q

    int distance[n] (array to keep     track of nodes distances (from source), all values set to -1 except source     which is set to 0 i.e. -1 = not visited)

    Q.push(source)

    while(Q is     not empty)

    v = Q.front

    Q.pop()

    for each neighbor w of v

    if distance[w] = -1

    print w

    distance[w] = distance[v]+1

    Q.push(w)

    end if

    end for

    end while

     

    DFS Pseudocode (for     graph with n vertices):

    Input: grapharray[n][n], source

    stack<int> S

    int visited[n] (array to keep     track of nodes visited, all values set to 0 except source which is set to 1     i.e. 0 = not visited, 1 = visited)

    S.push(source)

    while(S is     not empty)

    v = S.top

    S.pop()

    for each neighbor w of v

    if visited[w] = 0

    print w

    visited[w] = 1

    S.push(w)

    end if

    end for

    end while

    Bonus (4 points): Show all of the steps (splitting and merging) when using mergesort to sort (smallest to largest) the following array (they are the numbers 1 through 16):

    [16, 1, 15, 2, 14, 3, 13, 4, 12, 5, 11, 6, 10, 7, 9, 8]

    Bonus (2 points): describe how you could implement a queue using 2 stacks.

    Bonus (4 points) Draw the binary search tree that would be constructed by inserting the following values in the exact order given (starting with an empty tree i.e. first value will be the first node in the tree): –

    a. Binary Search Tree A: 8, 9, 2, 7, 1, 10, 3, 5, 6, 4

    b. Binary Search Tree B: 10, 7, 9, 12, 4, 2, 5, 3, 1, 14, 11, 19, 13, 18, 20

    Professional Paper Writers with Homework Market