自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 集合的表示、并查集的数组存储方式和集合的差并运算

typedef struct{ ElementType Data; int Parent; }SetType;SetType S[]; int Find(SetType S[],ElementType X)//查找某个元素所在的集合(用根结点表示) {//在数组S中查找值为X的元素所属的集合 //MaxSize是全局变量,为数组S的最大长度 int i; for(i=0;i<M

2017-02-28 12:43:13 529

原创 哈弗曼树的构造、什么是哈弗曼编码和怎样构造一颗编码代价最小又无二义的二叉树--用哈弗曼树

typedef struct TreeNode *HuffmanTree;struct TreeNode{ int Weight; HuffmanTree Left,Right;}; typedef struct HeapStruct *MinHeap; //最小堆的创建 struct HeapStruct{ ElementType *Elements;//存储堆元素的数组 in

2017-02-20 16:22:54 564

原创 什么是哈弗曼树

【例】将百分制的考试转换成五分制的成绩 if(score<60) grade=1;//判定树 else if(score<70) grade=2; else if(score<80) grade=3; else if(score<90) grade=4; else grade=5; if(score<80)//修改过的判定树 { if(score<70) if(s

2017-02-20 09:32:25 389 1

原创 最大堆的建立-如何调整所考虑的结点

2017-02-17 21:44:38 939

原创 最大堆的插入和删除

typedef struct HeapStruct *MaxHeap; //最大堆的创建 struct HeapStruct{ ElementType *Elements;//存储堆元素的数组 int Size;//堆的当前元素个数 int Capacity;//堆的最大容量 };MaxHeap Create(int MaxSize){//创建容量为MaxSize的空的最大堆

2017-02-17 21:15:35 1046

原创 堆优先用完全二叉树表示、堆的特性和最大最小堆

2017-02-16 21:48:48 1057

原创 单链表的逆转

typedef struct LNode *Ptr; struct LNode{ElementType Data;List Next;};Ptr head,new,old,tmp;Ptr Reverse(Ptr head,int K)//链表的逆转伪代码 { cnt=1; new=head->Next; old=new->Next; while(cnt<K){ tmp

2017-02-16 01:51:48 392

原创 判别是否是同一课二叉搜索树

typedef struct TreeNode *Tree; //搜索树表示 struct TreeNode{ int v; Tree Left,Right; int flag; }; int main(){ int N,L,i; Tree T; scanf("%d",&N); while(N){ scanf("%d",&L); T=MakeTree(

2017-02-13 23:59:23 255

原创 平衡二叉树的四种调整方式和注意事项

2017-02-13 20:55:54 6482 2

原创 什么是平衡二叉树和平衡二叉树的高度达到O(log2n)最少需要结点数为n

2017-02-13 20:54:16 5560 2

原创 二叉搜索树的插入和删除

typedef struct TreeNode *BinTree; typedef BinTree Position; struct TreeNode{ ElementType Data; BinTree Left; BinTree Right; }; BinTree BST; BinTree Insert(ElementType X,B

2017-02-13 04:08:09 374

原创 什么是二叉搜索树、二叉搜索树的查找(递归或循环)和二叉搜索树的查找最大最小元素

typedef struct TreeNode *BinTree; typedef BinTree Position; struct TreeNode{ ElementType Data; BinTree Left; BinTree Right; }; BinTree BST; Position Find(ElementType X,Bi

2017-02-13 03:58:35 1190

原创 如何判断两颗二叉树同构

#define MaxTree 10#define ElementType char#define Tree int#define Null -1struct TreeNode{ElementType Element; Tree Left;Tree Right; }T1[MaxTree],T2[MaxTree],T[MaxTree];int main(){

2017-02-12 02:03:10 5003 1

原创 二叉树的应用问题

【例】遍历二叉树的应用:输出二叉树中的叶子结点。void PreOrderPrintLeaves(BinTree BT)//例如先序遍历来判断左右子树是否都为空 {if(BT){if(!BT->Left&&!BT->Right)//增加检测结点 printf("%d",BT->Data);PreOrderPrintLeaves(BT->Left);PreOrde

2017-02-10 13:31:22 553

原创 二叉树的层序遍历

typedef struct TreeNode *BinTree;typedef BinTree Position; struct TreeNode{ ElementType Data; BinTree Left; BinTree Right; }; BinTree BT;void LevelOrderTraversal( BinTree BT )//二叉树的层序遍历,用队列方法,

2017-02-10 13:03:32 257

原创 二叉树的中序、先序、后序遍历非递归遍历算法(使用堆栈,用循环实现)

typedef struct TreeNode *BinTree;typedef BinTree Position; struct TreeNode{ElementType Data;BinTree Left;BinTree Right; }; BinTree BT;void InOrderTraversal(BinTree BT)//中序遍历非递归遍历算法

2017-02-10 13:01:58 678

原创 二叉树的先序、中序、后序遍历

typedef struct TreeNode *BinTree;typedef BinTree Position; struct TreeNode{ ElementType Data; BinTree Left; BinTree Right; }; BinTree BT;//二叉树的遍历 void PreOrderTraversal(BinTree BT)//(1)先序遍历

2017-02-05 04:03:42 237

原创 二叉树的存储结构

typedef struct TreeNode *BinTree;typedef BinTree Position; struct TreeNode{ElementType Data;BinTree Left;BinTree Right; };BinTree BT;

2017-02-05 04:01:50 170

原创 树的表示、推出二叉树、特殊二叉树和二叉树的几个重要性质

2017-02-04 04:16:12 189

原创 数据管理基本操作-查找

typedef struct LNode *List;struct LNode{ElementType Element[MAXSIZE];int Length; }; 方法1:顺序查找算法int SequentialSearch(List Tb1,ElementType K)//(有"哨兵"){//在Element[1]~Element[n]中查找关键字为K的数据元素 

2017-02-04 04:08:09 190

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除