• 大小:
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-06
  • 语言: C/C++
  • 标签: 数据结构  源码  

资源简介

《数据结构与算法分析:C语言描述》原书第2版pdf下载 高清完整版(源码+答案)

资源截图

代码片段和文件信息

#include “aatree.h“
#include 
#include “fatal.h“

/* START: fig12_27.txt */
            /* Returned for failures */
        Position NullNode = NULL;  /* Needs more initialization */

        struct AANode
        {
            ElementType Element;
            AATree      Left;
            AATree      Right;
            int         Level;
        };

        AATree
        Initialize( void )
        {
            if( NullNode == NULL )
            {
                NullNode = malloc( sizeof( struct AANode ) );
                if( NullNode == NULL )
                    FatalError( “Out of space!!!“ );
                NullNode->Left = NullNode->Right = NullNode;
                NullNode->Level = 0;
            }
            return NullNode;
        }
/* END */

        AATree
        MakeEmpty( AATree T )
        {
            if( T != NullNode )
            {
                MakeEmpty( T->Left );
                MakeEmpty( T->Right );
                free( T );
            }
            return NullNode;
        }

        Position
        Find( ElementType X AATree T )
        {
            if( T == NullNode )
                return NullNode;
            if( X < T->Element )
                return Find( X T->Left );
            else
            if( X > T->Element )
                return Find( X T->Right );
            else
                return T;
        }

        Position
        FindMin( AATree T )
        {
            if( T == NullNode )
                return NullNode;
            else
            if( T->Left == NullNode )
                return T;
            else
                return FindMin( T->Left );
        }

        Position
        FindMax( AATree T )
        {
            if( T != NullNode )
                while( T->Right != NullNode )
                    T = T->Right;

            return T;
        }

        /* This function can be called only if K2 has a left child */
        /* Perform a rotate between a node (K2) and its left child */
        /* Update heights then return new root */

        static Position
        SingleRotateWithLeft( Position K2 )
        {
            Position K1;

            K1 = K2->Left;
            K2->Left = K1->Right;
            K1->Right = K2;

            return K1;  /* New root */
        }

        /* This function can be called only if K1 has a right child */
        /* Perform a rotate between a node (K1) and its right child */
        /* Update heights then return new root */

        static Position
        SingleRotateWithRight( Position K1 )
        {
            Position K2;

            K2 = K1->Right;
            K1->Right = K2->Left;
            K2->Left = K1;

            return K2;  /* New root */
        }

/* START: fig12_29.txt */
        /* If T‘s left child is on the same level as T */
        /* perform a rotation */

        AATree
        Skew( AATree T )
        {
            if( T->Left->Level == T->Level )
                T = SingleRotateWithLeft( T

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6181  1996-08-13 03:27  code\aatree.c

     文件        669  1997-11-05 09:33  code\aatree.h

     文件       5593  1996-08-13 03:27  code\avltree.c

     文件        583  1997-11-05 09:34  code\avltree.h

     文件       3364  1996-08-13 03:27  code\binheap.c

     文件        588  1997-11-05 09:34  code\binheap.h

     文件       6727  1996-08-13 03:27  code\binomial.c

     文件        762  1997-11-05 09:34  code\binomial.h

     文件       4474  1996-08-13 03:27  code\cursor.c

     文件        890  1997-11-05 09:35  code\cursor.h

     文件       2564  1996-08-13 03:27  code\disjsets.c

     文件       4737  1996-08-13 03:27  code\dsl.c

     文件        701  1997-11-05 09:35  code\dsl.h

     文件        156  2008-08-11 20:03  code\fatal.h

     文件        848  1996-08-13 03:27  code\fig10_38.c

     文件        808  1996-08-13 03:27  code\fig10_40.c

     文件        464  1996-08-13 03:27  code\fig10_43.c

     文件        746  1996-08-13 03:27  code\fig10_45.c

     文件       2224  1996-08-13 03:27  code\fig10_46.c

     文件       2017  1996-08-13 03:27  code\fig10_53.c

     文件        550  1996-08-13 03:27  code\fig10_54.c

     文件        773  1996-08-13 03:27  code\fig10_55.c

     文件       1529  1996-08-13 03:27  code\fig10_62.c

     文件        284  1996-08-13 03:27  code\fig1_2.c

     文件        305  1996-08-13 03:27  code\fig1_3.c

     文件        374  1996-08-13 03:27  code\fig1_4.c

     文件        468  1996-08-13 03:27  code\fig2_10.c

     文件        486  1996-08-13 03:27  code\fig2_11.c

     文件        945  1996-08-13 03:27  code\fig2_9.c

     文件        879  1996-08-13 04:57  code\hashfunc.c

............此处省略64个文件信息

评论

共有 条评论