- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 替换空格
题目:请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入"We are happy."则输出"We%20are%20happy."。 分析: 方法一:创建新的字符串并分配足够多的内存,在新的字符串上进行替换。 方法二:从头到尾扫描字符串,每碰到一个空格的时候进行替换,并把空格后面的所有字符后移两个字节。 方法二的实现代码如下: void Replace(char st
2016-04-30 11:24:10 305
原创 红黑树的实现
红黑树:红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色,可以是Red或Black。通过对任何一条从根到叶子简单 路径上的颜色来约束,红黑树保证最长路径不超过最短路径的两倍,因而近似于平衡。 性质:1. 每个节点,不是红色就是黑色的 2. 根节点是黑色的 3. 如果一个节点是红色的,则它的两个子节点是黑色的
2016-04-30 10:11:55 531
原创 AVL树的实现
AVL树: AVL树又称为高度平衡的二叉搜索树,是1962年有俄罗斯的数学家G.M.Adel'son-Vel'skii和E.M.Landis提出来的。它能保持二叉树的高度 平衡,尽量降低二叉树的高度,减少树的平均搜索长度。 性质:1. 左子树和右子树的高度之差的绝对值不超过1 2. 树中的每个左子树和右子树都是AVL树 3. 每个节点都有一个平
2016-04-29 22:54:11 485
原创 C++项目之文件的压缩及解压缩
项目描述:实现文件的压缩机解压缩。 开发平台:VS2013 开发技术:堆,Huaffman树,文件输入输出函数 项目特点:1. 统计文件中字符出现的次数,利用数据结构堆建造Huffman树,出现次数多的编码短,出现次数少的编码长。 2. 根据建造好的Huffman树形成编码,以对文件进行压缩。 3.将文件中出
2016-04-19 15:54:24 5851
原创 二叉搜索树的实现
二叉搜索树的性质: 1.每个节点都有一个作为搜索依据的关键码(key),所有节点的关键码互不相同。 2.左子树上所有节点的关键码(key)都小于根节点的关键码(key)。 3.右子树上所有节点的关键码(key)都大于根节点的关键码(key)。 4.左右子树都是二叉搜索树。 实现代码如下: #include using namespace std; template struct BS
2016-04-15 15:49:54 371
原创 堆的实现
堆数据结构是一种数组对象,它可以被视为一棵完全二叉树结构。 堆结构的二叉树存储是 最大堆:每个父节点的都大于孩子节点。 最小堆:每个父节点的都小于孩子节点。 实现代码如下: #include using namespace std; #include #include template struct
2016-04-13 20:10:57 432
原创 非比较排序
非比较排序有:1.计数排序(适用于要排序的数的范围不大时) ,以数组中的数据为key值,得到它们出现的次数, 然后根据它们出现的次数进行重新排列,得到它们的有序数列。相当于哈希表的直接定址法。 2.基数排序 LSD-- Least Significant Digit first
2016-04-10 13:50:46 352
原创 哈希表(hashtable)
HashTable: 哈希表/散列表,是根据关键字(key)直接访问数据的数据结构。 它通过一个关键值的函数将所需的数据映射到表中的位置来访问数据,这个映射函数叫做散列函数,存放记录的数组叫做散列表。 构造哈希表的几种方法 1.直接定址法--取关键字的某个线性函数为散列地址,Hash(Key)= Key 或 Hash(Key)= A*Key + B,A、B为常数。 2
2016-04-08 17:24:55 662
原创 线索化二叉树
二叉树是一种非线性结构,遍历二叉树几乎都是通过递归或者用栈辅助实现非递归的遍历。用二叉树作为存储结构时,取到一个节点,只能获取节点的左孩子和右孩子,不能直接得到节点的任一遍历序列的前驱或者后继。 为了保存这种在遍历中需要的信息,我们利用二叉树中指向左右子树的空指针来存放节点的前驱和后继信息。 #include using namespace std; #include
2016-04-03 16:59:27 378
原创 位图的实现
应用场景: 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。 思路:如果内存够的话,40亿个整型使用位图存储需要500M左右的空间。 #include using namespace std; #include class Bitmap { public: Bitmap() : _size(0) {} Bitm
2016-04-03 16:04:52 956
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人