自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mi_rencontre的博客

知行合一

  • 博客(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

原创 处理哈希冲突的开链法(哈希桶)

处理哈希冲突的另一种方法:开链法

2016-04-08 17:28:51 1390

原创 哈希表(hashtable)

HashTable:  哈希表/散列表,是根据关键字(key)直接访问数据的数据结构。 它通过一个关键值的函数将所需的数据映射到表中的位置来访问数据,这个映射函数叫做散列函数,存放记录的数组叫做散列表。 构造哈希表的几种方法 1.直接定址法--取关键字的某个线性函数为散列地址,Hash(Key)= Key 或 Hash(Key)= A*Key + B,A、B为常数。 2

2016-04-08 17:24:55 662

原创 比较排序算法

常用的排序算法有:          直接插入排序,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序等。

2016-04-08 12:08:09 447

原创 线索化二叉树

二叉树是一种非线性结构,遍历二叉树几乎都是通过递归或者用栈辅助实现非递归的遍历。用二叉树作为存储结构时,取到一个节点,只能获取节点的左孩子和右孩子,不能直接得到节点的任一遍历序列的前驱或者后继。 为了保存这种在遍历中需要的信息,我们利用二叉树中指向左右子树的空指针来存放节点的前驱和后继信息。   #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关注的人

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