
数据结构
文章平均质量分 73
fucangzxx
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
B树的插入与查找
template bool BTree::Insert(const K& key) { //尚没有结点,直接改_root即可 if (this->_root == NULL) { this->_root = new Node(); this->_root->_keys[0] = key; ++this->_root->_size; return true; } Pair原创 2016-06-18 19:24:42 · 470 阅读 · 0 评论 -
智能指针的模拟实现shared_ptr 循环引用 定置删除器
auto_ptr与scoped_ptr的实现见本人的上篇博客。三、shared_ptrshared_ptr的实现原理是通过引用计数来实现,只有当引用计数为1时才释放空间,否则只需将引用计数减1.拷贝和赋值将引用计数加1,具体代码如下:template class SharedPtr { public: SharedPtr(); SharedPtr(T* ptr); SharedPtr(co原创 2016-05-29 21:36:03 · 1142 阅读 · 0 评论 -
利用栈计算算数表达式的值
先将中缀表达式利用栈转换为后缀表达式,然后再利用栈由后缀表达式计算算数表达式的值,具体代码如下:#include using namespace std; #include #include #include enum Type { OP_NUM, OP_SYMBOL, }; enum Operat { ADD, SUB, MUL, DIV, }; struct Cel原创 2016-05-29 21:36:06 · 922 阅读 · 0 评论 -
稀疏矩阵的压缩存储与转置
稀疏矩阵:矩阵中大多数元素为0的矩阵(本文以行序为主序)稀疏矩阵的三元组表述法: 650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/7E/E1/wKioL1cLsP7QRQIfAAAHqmH0VZY633.png" title="dsg题.png" alt="wKioL1cLsP7QRQIfAAAHqmH0VZY633原创 2016-05-29 21:36:09 · 576 阅读 · 0 评论 -
大数据的运算加减乘除
BigData.h:#ifndef __BIG_DATA_H__ #define __BIG_DATA_H__ #include #include typedef long long INT64; //#define MININT64 -9223372036854775808 // 编译器检查有错 // //#define MAXINT64 +9223372036854775807原创 2016-05-29 21:36:12 · 1344 阅读 · 0 评论 -
迷宫问题并求最短路径
#include #include #include #include struct Pos { int _row; int _col; }; bool MinPath(vector>& maze, int row, int col, Pos enrty, stack& minPath) { assert(!maze.empty()); stack path; bool fi原创 2016-05-29 21:36:15 · 758 阅读 · 0 评论 -
迷宫问题
#include #include #include #include struct Pos { int _row; int _col; }; void GetMaze(int* &a, int& row, int& col) { std::FILE* fileMaze = fopen("C:\\Users\\朱潇翔\\Desktop\\迷宫.txt", "r"); asser原创 2016-05-29 21:36:18 · 300 阅读 · 0 评论 -
广义表的相关操作
//Generalized.h #pragma once #ifndef __GENERALIZED_H__ #define __GENERALIZED_H__ enum Type { HEAD, VALUE, SUB, }; struct GeneralizedNode { Type _type; GeneralizedNode* _next; union { int _原创 2016-05-29 21:36:21 · 378 阅读 · 0 评论 -
位图
//BitMap.h #pragma once #ifndef __BITMAP_H__ #define __BITMAP_H__ #include class BitMap { class Reference; //声明Reference类 public: BitMap(size_t size = 0); void Set(size_t pos, bool val = true);原创 2016-05-29 21:36:24 · 287 阅读 · 0 评论 -
布隆过滤器
//BloomFilter.h #pragma once #ifndef __BLOOM_FILTER_H__ #define __BLOOM_FILTER_H__ #include #include "BitMap.hpp" #include "HashFuncer.h" template , class HashFuncer2 = __HashFuncer2, class HashFun原创 2016-05-29 21:36:27 · 286 阅读 · 0 评论 -
从1到n整数中1出现的次数
从1到n整数中1出现的次数要计算X出现的次数(650) this.width=650;" width="62" height="22" src="/e/u261/themes/default/images/spacer.gif" style="background:url("/e/u261/themes/default/images/word.gif") no-repeat center;bord原创 2016-05-29 21:36:30 · 547 阅读 · 0 评论 -
二叉树中两个节点的最低公共祖先
1、如果此二叉树为二叉搜索树,即树中所有结点的左子树的结点都比父结点小,所有结点的右子树都比父结点大 对于此种情况,我们只需从树的根结点开始和输入的两个结点进行比较。如果当前结点的值比两个结点的值都大,那么最低的共同父结点一定是在当前结点的左子树中,于是下一步遍历当前结点的左子结点;如果当前结点的值比两个结点的值都小,那么最低的共同父结点一定是在当前结点的右子树中,于是下一步遍历当前结点的右子结点。这样在树中从上到下找到第一个在输入结点的值之间的结点,就是最低的公共祖先。 2、如果此树是含有父结点的二原创 2016-05-31 20:10:34 · 649 阅读 · 0 评论 -
二叉树中最远的两个结点的距离
解法一:求出每个结点作为根结点时的最远距离 struct BinTreeNode { int _data; BinTreeNode* _left; BinTreeNode* _right; BinTreeNode(int data = 0) :_data(data), _left(NULL), _right(NULL) {} }; int DepthBin(BinTreeNode*原创 2016-06-02 23:37:36 · 785 阅读 · 0 评论 -
从两个文件(各含50亿个url)中找出共同的url
题目描述:给A,B两个文件,各存放50亿条URL,每条URL占用64个字节,内存限制为4G,找出A,B中相同的URL。 分析:我们先来看如果要把这些URL全部加载到内存中,需要多大的空间。 1MB = 2^20 = 10^6 = 100W 1GB = 2^30 = 10^9 = 10亿 50亿 = 5G * 64 Byte = 320G 明显是不可能全部加载到内存中的。我们可采用以下方法原创 2016-06-03 09:53:35 · 8780 阅读 · 0 评论 -
数组中重复的数字
/* *在一个长度为n的数组里的所有数字都在0到n-1的范围内。 *数组中某些数字是重复的,但不知道有几个数字是重复的。 *也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 *例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出 *是重复的数字2或者3 */ // Parameters: // numbers: an array of i原创 2016-06-04 22:51:58 · 567 阅读 · 0 评论 -
智能指针的模拟实现 auto_ptr scoped_ptr shared_ptr
RAII(Resource Acquisition Is Initialization)资源分配即初始化,定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。智能指针:用自动化或者说智能的指针来实现对动态内存的释放。它是一个类,有类似指针的功能。常见的智能指针:auto_ptr/scoped_ptr/scoped_array原创 2016-05-29 21:36:01 · 673 阅读 · 0 评论