树的代码
OnlyU恩
学!!!
展开
-
集合及其运算
#define MAXN 1000 typedef int ElementType; typedef int SetName; typedef ElementType SetType[MAXN]; /*集合元素查找*/ SetName Find(SetType S,ElementType X){ //默认集合元素全部初始化为-1 for(;s[X]>=0;X=S[X]); retur...原创 2019-12-21 17:48:32 · 269 阅读 · 0 评论 -
哈夫曼树的构造(用最小堆建立,插入,删除)
typedef struct HTNode *HuffmanTree; struct HTNode{ int Weight; HuffmanTree Left; HuffmanTree Right; }; HuffmanTree Huffman(MinHeap H){ int i,N; HuffmanTree T; BuildMinHeap(H); N=H->Size; ...原创 2019-12-21 17:29:27 · 480 阅读 · 0 评论 -
最大/小堆创建,插入,删除,建立
最大/小堆的声明 typedef struct HNode *Heap; struct HNode{ ElementType *Data; int Size; //堆中当前元素的个数 int Capacity; //堆中的最大容量 }; typedef Heap MaxHeap; typedef Heap MinHeap; 最大堆的创建 #define MaxData 1000 ...原创 2019-12-21 16:57:27 · 139 阅读 · 0 评论 -
平衡二叉树(AVL)的插入
typedef struct AVLNode *Position; typedef Position AVLTree; struct AVLNode{ ElementType Data; AVLTree Left; AVLTree Right; int Height; }` int MaxHeight(int a,int b){ return a > b ? a : b ; } ...原创 2019-12-21 11:47:10 · 141 阅读 · 1 评论 -
二叉搜索树查找,插入,删除
递归查找 Position Find( BinTree BST,ElementType X){ if(!BST) return NULL; if(X>BST->Data) return Find( BST->Right, X); else if(X<BST->Data) return Find ( BST->Left, X); else ...原创 2019-12-21 10:02:11 · 91 阅读 · 0 评论 -
二叉树声明,遍历,创建
头文件 #include<stdio.h> #include<stdlib.h> 二叉树的声明 typedef struct TNode *Position; typedef Position BinTree; //二叉树类型 struct TNode{ //树结点定义 ElementType Data; //结点数据 BinTree Left; ...原创 2019-12-20 17:12:29 · 613 阅读 · 0 评论