1、综述set是C++STL中众多的Container(容器)之一,用于储存数据并且能从一个数据集合中取出数据,它的每个元素的值必须惟一。set内部通过自建红黑树(一种非严格意义上的平衡二叉树)实现,可以对数据自动排序。构造set集合主要目的是为了快速检索,不可直接去修改键值。2、set的常见操作首...
分类:
编程语言 时间:
2014-05-23 09:06:32
阅读次数:
338
1.写出下列算法的时间复杂度。
(1)冒泡排序;
(2)选择排序;
(3)插入排序;
(4)快速排序;
(5)堆排序;
(6)归并排序;...
分类:
编程语言 时间:
2014-05-22 11:46:43
阅读次数:
321
前段时间数据结构的作业里有一个这样的题跟大家分享一下:
若栈采用顺序存储方式存储,现两栈共享空间V[1..m], top[i]代表第i个栈( i =1,2)栈顶,栈1的底在v[1],栈2的底在V[m],则栈满的条件是( )。
A. |top[2]-top[1]|=0 B. top[1]+1=top[2]
C. top[1]+top[2]=m D....
分类:
其他好文 时间:
2014-05-22 09:48:38
阅读次数:
258
剑指offer上的第23题,实际上就是考察二叉树的层序遍历,具体思想可以参考这里。
题目描述:
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
输入:
输入可能包含多个测试样例,输入以EOF结束。
对于每个测试案例,输入的第一行一个整数n(1<=n<=1000, :n代表将要输入的二叉树元素的个数(节点从1开始编号)。接下来一行有n个数字,代表第i个二叉树节点的元素的值。接下来有n行,每行有一个字母Ci。
Ci=’d’表示第i个节点有两子孩子,紧接着是左孩子编号和右孩子编号。
Ci=’l’表示第i个...
分类:
其他好文 时间:
2014-05-22 08:29:03
阅读次数:
306
剑指offer上的第21题,之前在Cracking the Coding interview上做过,思路参考这里,这次写了测试函数,在九度OJ上测试通过。
题目描述:
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
输入:
输入可能包含多个测试样例,输入以EOF结束。
对于每个测试案例,输入的第一行为一个整数n(1<=n<=1000000), n代表将要输入的操作的步骤数。
接下来有n行,每行开始有一个字母Ci。
Ci=’s’时,接下有一个数字k,代表将k压入栈。
Ci=’o’时,...
分类:
其他好文 时间:
2014-05-22 07:15:30
阅读次数:
318
先附上题目要求:下面附上数据结构框图,本人整理(勿喷!)在解题的时候用到了栈和队列,其中货车FILO用到了栈的结构,各国运货平台FIFO用到了队列结构,动态分配各运货平台,其实题目读懂之后模拟整个运货平台分理过程也没有那么难,关键是做好数据结构!下面附上代码:
1 #include 2 #in...
分类:
其他好文 时间:
2014-05-22 05:33:25
阅读次数:
287
《啊哈!算法》二叉树是一种特殊的树。二叉树的特点是每个结点最多有两个儿子,左边的叫做左儿子,右边的叫做右儿子,或者说每个结点最多有两棵子树。更加严格的递归定义是:二叉树要么为空,要么由根结点、左子树和右子树组成,而左子树和右子树分别是一棵二叉树。
下面这棵树就是一棵二叉树。
分类:
其他好文 时间:
2014-05-22 03:14:17
阅读次数:
148
/**根据完美二叉树或者非完美二叉树都可以,利用左右子树的根节点的next节点信息来连接next*/public void
connect(TreeLinkNode root){ if(root==null) return; //利用父节点的next...
分类:
其他好文 时间:
2014-05-22 03:03:39
阅读次数:
183
二叉树是一种特殊的树。二叉树的特点是每个结点最多有两个儿子,左边的叫做左儿子,右边的叫做右儿子,或者说每个结点最多有两棵子树。更加严格的递归定义是:二叉树要么为空,要么由根结点、左子树和右子树组成,而左子树和右子树分别是一棵二叉树。下面这棵树就是一棵二叉树..
分类:
其他好文 时间:
2014-05-21 01:29:57
阅读次数:
216
数据的逻辑结构数据的存储结构单链表是递归结构迭代是指从当前元素获得集合中的后继元素。迭代功能由Tterable可迭代接口和Tterator迭代器接口实现。栈和队列是两种特殊的线性表,特殊之处在于插入和删除操作的位置受到限制。栈:插入和删除只允许在线性表的一端进行,后进先出..
分类:
其他好文 时间:
2014-05-20 23:20:54
阅读次数:
436