数据结构
TaskaNon
这个作者很懒,什么都没留下…
展开
-
POJ1442
题意::给定M个数,每次可以插入序列一个数;再给N个数,表示在插入第几个数时输出一个数,第一次输出序列中最小的,第二次输出序列中第二小的……以此类推,直到输出N个数。用两个优先队列动态维护,因为插入第几个数时输出第i个最小,序列是动态的。#include #include #include #include #include #include #include原创 2015-11-03 23:08:25 · 533 阅读 · 0 评论 -
POJ2299
归并排序,主要是,题目可转换为求逆序数的问题#include #include #include #include #include using namespace std;long long a[500010],b[500010];long long cnt;void merge(int l,int r,int mid){ int il=l;原创 2015-11-04 21:43:36 · 376 阅读 · 0 评论 -
poj1577
就是搜索二叉树,树的左儿子比她小,右儿子比她大,本来用递归插入,不知道为什么输不出。。。。。。#include #include #include using namespace std;struct BinNode{ char letter; BinNode *left,*right; BinNode(char val='*'):letter原创 2015-11-05 01:59:56 · 674 阅读 · 0 评论 -
poj2255
给出二叉树的前序遍历和中序遍历,写出后序遍历。。。前序是根左子树右子树,中序是左子树根右子树,所以对于每一个在前序中的字母,找到在中序中的位置,则左边是它的左子树,右边是它的右子树#include #include #include #include #include #include #include #include using namespace st原创 2015-11-10 23:28:15 · 459 阅读 · 0 评论 -
二叉树(一)
一 概念: 满二叉树:每一个结点或者是一个分支结点,并恰好有两个非空子结点;或者是叶结点。 完全二叉树:从根结点起,每一层从左至右填充。 二叉树的性质: <1> 二叉树中,第i层的节点最多有2(i-1)个。 <2> 深度为k的二叉树最多有2k-1个节点。 <3> 二叉树中,叶子节点树为N1个,度为2的节点有N2个,那么N1=N2+1。 <4> 具有原创 2017-03-27 23:13:45 · 897 阅读 · 0 评论 -
排序算法之内排序总结
1插入排序template <typename E,typename Comp>void inssort(E A[],int n){for(int i0;i<n;i++)for(int j=i;(j>0)&&(Comp::prior(A[j],A[j-1]));j--)swap(A,j,j-1);}最差情况下:总比较次数是θ(n^2); 最佳情况下:总比较次数是θ(n); 平均执行时原创 2017-03-21 12:35:58 · 1173 阅读 · 0 评论