* Removes the specified key and its associated value from this symbol table           * (if the key is in this symbol table).  Takes advantage of the fact that the      * keys appear in increasing order to terminate` early when possible.       *      * @param  key the key      * @throws IllegalArgumentException if {@code key} is {@code null}      */     public void delete(Key key) {         // TODO         // Change this code to make use of the fact that the list is sorted to         //     terminate early when possible.         // Also use a loop instead of recursion!  So remove the recursive helper         //     function below.         if (key == null) throw new IllegalArgumentException("argument to delete() is null");          first = delete(first, key);     }     // delete key in linked list beginning at Node x     // warning: function call stack too large if table is large     private Node delete(Node x, Key key) {         // TODO         // Remove this function.  Delete should no longer be recursive.         if (x == null) return null;         if (key.equals(x.key)) {             n--;             return x.next;         }         x.next = delete(x.next, key);         return x;     }   You cannot use the keys() method Note: You are modifying the implementation of the methods, but not their interface or contract.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

* Removes the specified key and its associated value from this symbol table     
     * (if the key is in this symbol table).  Takes advantage of the fact that the
     * keys appear in increasing order to terminate` early when possible. 
     *
     * @param  key the key
     * @throws IllegalArgumentException if {@code key} is {@code null}
     */
    public void delete(Key key) {
        // TODO
        // Change this code to make use of the fact that the list is sorted to
        //     terminate early when possible.
        // Also use a loop instead of recursion!  So remove the recursive helper
        //     function below.
        if (key == null) throw new IllegalArgumentException("argument to delete() is null"); 
        first = delete(first, key);
    }

    // delete key in linked list beginning at Node x
    // warning: function call stack too large if table is large
    private Node delete(Node x, Key key) {
        // TODO
        // Remove this function.  Delete should no longer be recursive.
        if (x == null) return null;
        if (key.equals(x.key)) {
            n--;
            return x.next;
        }
        x.next = delete(x.next, key);
        return x;
    }

 

You cannot use the keys() method

Note: You are modifying the implementation of the methods, but not their interface or contract.

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
External Sort
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education