CS 2420: Algorithms and Data Structures Practice
16 Questions
0 Views

CS 2420: Algorithms and Data Structures Practice

Created by
@DarlingTroll

Questions and Answers

What will be printed in the next-to-last statement of main regarding the character variable 'letter'?

  • 'a' (correct)
  • A runtime exception
  • An empty character
  • The character representation of 1.2
  • Which statement correctly describes the relationship between Java interfaces and abstract classes?

  • Java interfaces must define all their methods.
  • Java interfaces are a type of abstract class but serve different purposes. (correct)
  • Abstract classes cannot have constructor methods.
  • All abstract classes can contain methods with implementations.
  • What is the running-time complexity of the given loop nest?

  • O(N log N)
  • O(1)
  • O(N)
  • O(N^2) (correct)
  • When executing the method getLocation() from the Building class, what occurs?

    <p>It successfully calls the method from the Building class.</p> Signup and view all the answers

    What can be concluded about the Diner class's equals method?

    <p>It can cause a compiler error if used incorrectly.</p> Signup and view all the answers

    What is the result of calling getSeatCount() on a reference type Building that points to an object of type Restaurant?

    <p>It results in a compiler error.</p> Signup and view all the answers

    What can be inferred from the expression 'g.equals(f)' where g is an Object and f is a Restaurant?

    <p>g.equals(f) will compare references, potentially returning false.</p> Signup and view all the answers

    In the context of the provided class definitions, what could potentially happen when invoking toString() on a Lab object?

    <p>It invokes a default method from Object class.</p> Signup and view all the answers

    What does the statement 'Building k = j;' imply if j is a Diner?

    <p>k can only access methods defined in Building.</p> Signup and view all the answers

    What would happen when trying to use a method from the Restaurant class on an instance of Diner?

    <p>The method call will be successful due to inheritance.</p> Signup and view all the answers

    Which of the following statements is true regarding sorting methods with a basic array as a parameter?

    <p>They should have a void return type since they modify the array in place.</p> Signup and view all the answers

    What will happen if getSeatCount() is invoked on a Building object?

    <p>A compiler error will occur.</p> Signup and view all the answers

    When observing the growth rate T(N)/N as N increases, what does this indicate?

    <p>This is indicative of linear growth, O(N).</p> Signup and view all the answers

    What is the consequence of using '((Lab)e).toString()' if e is an instance of Restaurant?

    <p>It will throw a ClassCastException.</p> Signup and view all the answers

    What would be the best big-O notation for the computational complexity of the given growth rates based on the table provided?

    <p>O(N log N)</p> Signup and view all the answers

    Which of the following statements about the inheritance hierarchy in the provided context is correct?

    <p>All classes in the hierarchy implement methods of Object.</p> Signup and view all the answers

    Study Notes

    Java Code Execution

    • The value printed before the last statement is 'a' since primitive types in Java (like char) are passed by value, and the original variable remains unchanged.
    • The last statement prints the memory reference of the array due to the default toString() of arrays, not the first element (1.2).

    Java Interfaces and Abstract Classes

    • All Java interfaces are abstract by default, providing method signatures without implementations.
    • Not all abstract classes are interfaces; abstract classes can have implemented methods and state.

    Loop Nest Complexity

    • The nested loop runs for 2N iterations in total, resulting in a running-time complexity of O(N²).

    Class Definition and Method Calls

    • An instance of Restaurant cannot call getSeatCount() when referenced as Building due to lack of method visibility, leading to a compiler error.
    • Attempting to call a method on an Object that does not exist results in a runtime exception.
    • Casting Restaurant to Lab would lead to a ClassCastException at runtime.
    • Calls to equals() method of Object on a Diner object function correctly since it is inherited through the class hierarchy.
    • Method calls in the hierarchy must match declarations to avoid compile-time and run-time issues.

    Sorting Methods and Array Parameters

    • Sorting methods use arrays directly and return void to indicate they modify the array in place.
    • No new array is created; instead, existing data is rearranged using an in-place algorithm.
    • This design choice improves efficiency, as it avoids additional memory allocation.

    Growth Rate Analysis

    • Analyzing T(N) values against their corresponding growth factors reveals patterns indicative of logarithmic or polynomial growth rates.
    • The best match is determined comparing T(N)/N² and observing a consistent growth decrease, indicating potentially quadratic performance, O(N²).

    Generic Method for Finding Smallest Item

    • Design a method that utilizes generics and the Comparable interface to compare items:
      public static <T extends Comparable<T>> T findSmallest(T[] array) {
          T smallest = array[0];
          for (T element : array) {
              if (element.compareTo(smallest) < 0) {
                  smallest = element;
              }
          }
          return smallest;
      }
      
    • This method iterates through the array, checking each element against the currently known smallest item.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    practice.pdf

    Description

    Test your knowledge of algorithms and data structures with these practice questions from the CS 2420 course. This quiz covers key concepts and Java programming techniques essential for mastering the subject. Prepare to enhance your problem-solving skills and understanding of data structures.

    More Quizzes Like This

    Use Quizgecko on...
    Browser
    Browser