- 博客(5)
- 收藏
- 关注
原创 可并堆,离散优化以及HASH表,线段树总结
最近学了点数据结构,觉得有必要总结一下。 下面首先是离散优化: 离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 例如: 原数据:1,999,100000,15;处理后:1,3,4,2; 原数据:{100,200},{20,50000},{1,400}; 处理后:{3,4},{2,6},{1,5};离散优化是建立数据与存储结构间的对应关系。
2017-07-05 20:50:55
264
原创 string库其实没什么用
#include<cstdio>#include<cstring>#include<string>#include<iostream>/*using namespace std;class mystring{ char str[21]; int maxsize; int last; public: mystring(){ l
2017-03-04 16:07:49
244
原创 二叉查找树 POJ Falling Leaves
原题描述(我的翻译版): 图1显示了字母二叉树的图形表示。熟悉字母二叉树概念的人可以跳过接下来的定义,切入正题。 字母二叉树满足下面两条之一: 1. 它可以是空树, 2. 它可以有一个根节点,该节点以;一个字母作为数据并且指向左子树和右子树。左子树和右子树也是字母二叉树。 在字母二叉树的图形表示中: 1. 空树完全省略 2. 每一个节点都代表: 一个字母, 左子树不为空
2017-02-17 20:33:20
460
原创 BFS和DFS
void BFS(){ queue q; while(!q.empty) //队列非空 { int top=q.front(); //取队首元素 q.pop(); //出队 寻找top结点的所有下一个结点; if(结点满足题目的条件) break; else 将其全部进队; }}void dfs(){ if
2017-02-10 15:43:33
238
原创 堆的标准模板
向下搜索函数,对堆的有序性进行维护(重点)void downsearch(int low,int high){int i=low; // i的意思是现在的节点位置(用的数组存储二叉树)int j=low*2; //子结点;while(j{ if(heap[j] { j=j+1; //左右孩子寻找最大的一个(大根堆,大的向上走)
2017-02-10 15:12:03
249
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人