数据结构
吃馍馍
这个作者很懒,什么都没留下…
展开
-
KMP
#include #include using namespace std;int KMP(string ,string );void GetNext(string , int next[]);int main(){ string s,t; while(cin>>s>>t) cout<<KMP(s,t)<<endl; return 0;}void GetNext(stri原创 2013-03-29 18:24:54 · 441 阅读 · 0 评论 -
队列
今天自己手写了个队列#define MAXSIZE 10000templateclass queue{private: DATATYPE * QUEUE; DATATYPE *pfront,*prear;public: queue(); ~queue(); bool pop(); bool push(DATATYPE); DATATYPE front(); bool原创 2013-03-16 20:07:49 · 343 阅读 · 0 评论 -
栈
今天学习栈,试着用c++写了一个模版普通栈o(∩_∩)o#define MAXSIZE 10000templateclass stack{private: T *STACK; int TOP;public: stack(); ~stack(); bool pop(); bool push(T); T top(); bool empty(); void show(bo原创 2013-03-14 23:34:47 · 538 阅读 · 0 评论 -
双端队列
今天为了写计算器,还特地写了一个双端队列,目前功能测试正常//deque.h#define MAXSIZE 10000#define ERROR -1templateclass deque{private: DATATYPE * DEQUE; int pfront,prear;public: deque(); ~deque(); bool pop_back();原创 2013-03-18 14:30:23 · 555 阅读 · 0 评论 -
计算器(后缀表达式)
不过目前这个功能太少,而且能算的十分有限,测试输入为4+4*5+3=测试输出为4 4 5 * + 3 +=27主要就是了解一下怎么把中缀表达式转化成后缀表达式,然后再利用后缀表达式求值,我后续会完善这个程序,做个真正意义上的计算器。。o(∩_∩)o转化步骤我搜索了一下,大致如下:将中缀表达式转换为等价的后缀表达式的过程要使用一个栈放“(”,具体可以按照下面的原创 2013-03-18 14:29:03 · 905 阅读 · 0 评论 -
再论最短路
上学期学习离散数学的时候当时做了些最短路的题,不过都很皮毛,这学期学数据结构刚好学到了,再次总结和整理一下。首先复习一次dijkstra算法。复杂度是n平方,用的是动态规划的思想,用一个数组L[i]来表示源点到i点的最短路径,我用map[i][j]表示从顶点i到顶点j的距离,然后将顶点划分成两部分,一部分是已经求出从源点到该点最短路径的点,一部分是还不知道最短路径的点,用P[i]为true原创 2013-04-02 22:52:28 · 383 阅读 · 0 评论 -
树
今天学习树结构,自己写了一个树模版o(∩_∩)o#define MAXN 1000#define MAXNUM 0x3fffffff// #define Type chartemplatestruct node{ Type root; node *left,*right;};template class tree{ node* head; unsigned原创 2013-03-24 21:05:54 · 397 阅读 · 0 评论 -
Templates of basic data structures
Templates of basic data structuresBinary Indexed Treeclass BinaryIndexedTree{ private int[] array = null; private int capacity = 0; public BinaryIndexedTree(int capacity) { arr原创 2016-11-08 22:17:08 · 215 阅读 · 0 评论