资源简介

数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码

资源截图

代码片段和文件信息

// AvlTree class
//
// CONSTRUCTION: with no initializer
//
// ******************PUBLIC OPERATIONS*********************
// void insert( x )       --> Insert x
// void remove( x )       --> Remove x (unimplemented)
// boolean contains( x )  --> Return true if x is present
// boolean remove( x )    --> Return true if x was present
// Comparable findMin( )  --> Return smallest item
// Comparable findMax( )  --> Return largest item
// boolean isEmpty( )     --> Return true if empty; else false
// void makeEmpty( )      --> Remove all items
// void printTree( )      --> Print tree in sorted order
// ******************ERRORS********************************
// Throws UnderflowException as appropriate

/**
 * Implements an AVL tree.
 * Note that all “matching“ is based on the compareTo method.
 * @author Mark Allen Weiss
 */
public class AvlTree>
{
    /**
     * Construct the tree.
     */
    public AvlTree( )
    {
        root = null;
    }

    /**
     * Insert into the tree; duplicates are ignored.
     * @param x the item to insert.
     */
    public void insert( AnyType x )
    {
        root = insert( x root );
    }

    /**
     * Remove from the tree. Nothing is done if x is not found.
     * @param x the item to remove.
     */
    public void remove( AnyType x )
    {
        root = remove( x root );
    }

       
    /**
     * Internal method to remove from a subtree.
     * @param x the item to remove.
     * @param t the node that roots the subtree.
     * @return the new root of the subtree.
     */
    private AvlNode remove( AnyType x AvlNode t )
    {
        if( t == null )
            return t;   // Item not found; do nothing
            
        int compareResult = x.compareTo( t.element );
            
        if( compareResult < 0 )
            t.left = remove( x t.left );
        else if( compareResult > 0 )
            t.right = remove( x t.right );
        else if( t.left != null && t.right != null ) // Two children
        {
            t.element = findMin( t.right ).element;
            t.right = remove( t.element t.right );
        }
        else
            t = ( t.left != null ) ? t.left : t.right;
        return balance( t );
    }
    
    /**
     * Find the smallest item in the tree.
     * @return smallest item or null if empty.
     */
    public AnyType findMin( )
    {
        if( isEmpty( ) )
            throw new UnderflowException( );
        return findMin( root ).element;
    }

    /**
     * Find the largest item in the tree.
     * @return the largest item of null if empty.
     */
    public AnyType findMax( )
    {
        if( isEmpty( ) )
            throw new UnderflowException( );
        return findMax( root ).element;
    }

    /**
     * Find an item in the tree.
     * @param x the item to search for.
     * @return true if

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-06-13 00:33  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\
     文件    49569371  2018-02-16 15:50  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析 java语言描述(原书第3版).pdf
     目录           0  2018-06-13 00:33  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\
     文件       58648  2018-02-16 15:46  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码.zip
     文件       11646  2012-11-19 12:53  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\AvlTree.java
     文件        4934  2011-10-30 11:12  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\BinaryHeap.java
     文件        8061  2011-10-30 11:13  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\BinarySearchTree.java
     文件        8542  2013-12-03 12:40  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\BinomialQueue.java
     文件        9797  2011-10-30 10:19  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\CuckooHashTable.java
     文件        9744  2011-10-30 10:19  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\CuckooHashTableClassic.java
     文件        2590  2011-10-30 09:44  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\DisjSets.java
     文件        2280  2011-10-30 09:44  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\DisjSetsSlow.java
     文件         280  2011-10-30 09:44  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\Fig01_02.java
     文件         293  2011-10-30 09:44  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\Fig01_03.java
     文件         398  2011-10-30 09:44  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\Fig01_04.java
     文件        1069  2011-10-30 09:44  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\Fig02_09.java
     文件         435  2011-10-30 09:44  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\Fig02_10.java
     文件         565  2011-10-30 09:44  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\Fig02_11.java
     文件        1560  2011-10-30 10:19  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\Fig02_12.java
     文件         908  2011-10-30 09:44  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\Fig10_38.java
     文件         864  2011-10-30 09:44  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\Fig10_40.java
     文件         418  2011-10-30 09:44  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\Fig10_43.java
     文件         490  2011-10-30 09:44  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\Fig10_45.java
     文件        2149  2011-10-30 09:44  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\Fig10_46.java
     文件        1999  2011-10-30 09:44  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\Fig10_53.java
     文件        1571  2011-10-30 11:26  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\Fig10_63.java
     文件         147  2011-10-30 10:19  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\HashFamily.java
     文件         689  2011-10-30 09:44  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\IntCell.java
     文件        2644  2011-10-30 10:19  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\KdTree.java
     文件        5124  2011-10-30 11:10  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\LeftistHeap.java
     文件        6047  2011-10-30 10:19  数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码\数据结构与算法分析_Java语言描述(第3版)源码\MaxSumTest.java
............此处省略19个文件信息

评论

共有 条评论