- 博客(10)
- 问答 (2)
- 收藏
- 关注
原创 C++学习总结NO.1
C++相对于C的变化 1、数据类型:bool、成员指针/成员函数指针、引用、类 2、函数:内联函数、默认形参(从右边开始)、函数重载 3、强制类型转换 const_cast : 用于临时去掉const限制 ,返回一个指向非常量的指针(或引用); static_cast : 数值之间,有一方是void*的指针之间的转换; reinterpret_cast : 任意两种指
2014-05-08 13:48:20 566
原创 数据结构之哈夫曼树
给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
2014-04-29 12:25:50 936
原创 数据结构之二叉堆
二叉堆是一种特殊的堆,二叉堆是完全二元树或者是近似完全二元树。二叉堆有两种:最大堆和最小堆。最大堆:父结点的键值总是大于或等于任何一个子节点的键值;最小堆:父结点的键值总是小于或等于任何一个子节点的键值。
2014-04-26 17:37:25 521
原创 数据结构之红黑树
AVL树中任何节点的两个子树的高度最大差别为1,被称为高度平衡树。 红黑树并不追求“完全平衡”——它只要求部分地达到平衡要求,降低了对旋转的要求(任何不平衡都会在三次旋转之内解决),从而提高了性能。 1、概述 红黑树是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由鲁道夫•贝尔发明的,他称之为"对称二叉B树",它现代的名字是在 Le
2014-04-24 14:37:02 465
原创 数据结构之AVL树
二叉排序树的查找与树的形态密切相关,当树的形态比较均衡时查找效率最高,当树的形态偏向于某一个方向是时效率迅速降低,当二叉排序树蜕变为单支树,树的深度为n时,其平均查找长度为(n+1)/2(和顺序查找相同) 1. 概述 AVL树是最早提出的自平衡二叉树,在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。AVL树得名于它的发明者G.M. Adelson-V
2014-04-17 11:53:23 602
原创 数据结构之二叉排序树(基于引用实现基本操作)
#ifndef BINARYSEARCHTREEQUOTE_H #define BINARYSEARCHTREEQUOTE_H namespace binarysearchtreequote { template class TreeNode { public: Element data; TreeNode *lchild; TreeNode *rchild; TreeN
2014-04-14 10:44:18 520
原创 数据结构之二叉排序树(基于指针实现基本操作)
定义: 二叉排序树(Binary Sort Tree)又称二叉查找树,亦称二叉搜索树。 它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树;
2014-04-13 22:19:09 532
原创 数据结构之线性栈
栈的定义及基本运算 定义: 栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表。 (1)通常称插入、删除的这一端为栈顶(Top),另一端称为栈底(Bottom)。 (2)当表中没有元素时称为空栈。 (3)栈为后进先出(Last In First Out)的线性表,简称为LIFO表。 基本运算:
2014-04-11 11:17:35 690
原创 数据结构之线性队列
1、队列的定义及基本运算 定义: 队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表 (1)允许删除的一端称为队头(Front) (2)允许插入的一端称为队尾(Rear) (3)当队列中没有元素时称为空队列 (4)队列亦称作先进先出(First In First Out)的线性表,简称为FIFO表 基本运算
2014-04-11 10:44:57 551
空空如也
关于快速排序和归并排序的速度问题
2015-07-09
在快速排序里,进行数据交换时,遇到的特殊问题
2015-07-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人