- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 AVL树的平衡调整,LL,LR,RR,RL旋转 (二)
1. 概述 AVL树是最早提出的自平衡二叉树,在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。AVL树得名于它的发明者G.M. Adelson-Velsky和E.M. Landis。AVL树种查找、插入和删除在平均和最坏情况下都是O(log n),增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。本文介绍了AVL树的设计思想和基本操作。 2. 基本术语 有四
2013-12-28 10:36:06 11309 1
原创 AVL树,平衡二叉树的LL,LR ,RR,RL旋转
////////////////////////////////////////////////////////////// ////////////创建平衡二叉树的调整 ////////////@xomlee 20131227 #include #include typedef struct AVLTree { int data; struct AVLTree
2013-12-27 23:04:48 4840 1
原创 二叉排序树的创建,插入和 删除操作
///////////////////////////////////////////////////////////////////////////////// //////////////二叉排序树的创建,插入和 删除操作 //////////////@20131225 #include #include typedef struct BiTree { int data
2013-12-25 22:37:23 1610
原创 标记入栈法,完全二叉树的前序遍历
////////////////////////////////////////////////////////////// //标记入栈,完全二叉树的前序遍历 //给定一个数据结构,按照树的遍历原则,我们不真正把树中的DATA 送入栈中,而是对它的DATA值做一个标记,只是 //将它的标记送入栈中,然后出栈,可以达到将其值入栈一样的效果,这样做的好处是,当数据值DATA很复杂时或者
2013-12-25 11:21:25 1205
原创 完全二叉树的创建,循环方式创建
#include #include typedef struct Node { int data; struct Node *LTree,*RTree; }BiTree; typedef struct Stack { BiTree *StackValue; struct Stack *pStackNext; }STACK; BiTree* createBi
2013-12-23 19:27:12 951
原创 双向循环链表的创建,插入,删除操作
下面请看源代码: #include #include typedef struct _Node { int nValue; struct _Node* pPre; struct _Node* pNext; }Node; Node* pHead = NULL; Node* pEnd = NULL; void Push_Front(int value) /
2013-12-23 19:21:58 913
原创 循环方法创建完全二叉树
对于完全二叉树,我们可以使用数组来存储,但是要对它进行操作就会很不方便,所以我用一个FOR循环来创建,先看源代码:#include #include typedef struct Node {int data;struct Node *LTree,*RTree;}BiTree;typedef struct Stack{BiTree *StackValue;struct Stack *pStackN
2013-12-23 19:16:02 1118 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人