- 博客(5)
- 资源 (5)
- 收藏
- 关注
转载 C与C++的内存分配方式比较
1、malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。2、对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任
2012-10-29 20:36:50 1758
原创 红黑树代码
为了能更好的理解红黑树,我把我写的关于红黑树代码放在博客里,如果有什么问题,欢迎大家留言,谢谢 定义一个结点部分enum COLOR{RED, BLACK};class CRB_Node{ public: CRB_Node(void); CRB_Node(const int item, CRB_Node * lch,CRB_Node * rch, CRB_Node *par
2012-10-29 19:14:48 1268
原创 AA树
在上一篇博客中写道红黑树的各种操作,但是它的各种操作,尤其是删除操作分类情况比较多且复杂,不容易编程实现。 因此,Arne Andersson在93年时,在一篇“Balanced search trees made simple”就对这个RBT进行了改进。但是,现在好像应用不是很多。对于这方面介绍的资料也比较少。 我写这篇文章就是想介绍一下AA树以及它的基本操
2012-10-28 17:07:08 6507
原创 红黑树
昨天刚讲了红黑树,今天趁热打铁,写一下,帮助自己增强记忆,也希望能帮到大家并希望大家留下宝贵建议: 1、红黑树引入的目的: BST查找效率较低:查找最好时间复杂度O(lgn);查找最坏时间复杂度O(n).AVL查找效率较高查找最好、最坏时间复杂度都是O(lgn)要求完全平衡,建立查找结构代价比较大;
2012-10-28 10:53:01 1472
原创 平衡二叉( AVL)
1、AVL的提出目的: AVL的提出是为了提高BST的查找效率,因为BST在最坏情况下时间复杂度为O(lgn),而AVL则保证了在最坏情况下时间复杂度为O(lgn);2、AVL的定义: 1、是一棵BST树; 2、每个结点的左右子树高度差的绝对值不超过1;3、AVL操作的具体代码及实现:(C++)class AvlNode{public: Av
2012-10-28 09:39:21 796
cacti使用手册
2013-07-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人