3.1符号表符号表最主要的目的就是将一个键和一个值联系起来。用例能够将一个键值对插入符号表并希望在之后能够从符号表的所有键值对中按照键值姐找到对应的值。要实现符号表,我们首先要定义其背后的数据结构,并指明创建并操作这种数据结构以实现插入、查找操作所需要的算法。查找在大多数应用程序中都至关重要,许多编...
分类:
其他好文 时间:
2014-06-25 17:05:04
阅读次数:
204
这是本小人书。原名是《using stl》STL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其...
分类:
其他好文 时间:
2014-06-25 12:46:08
阅读次数:
288
本文部分来源于CSDN兰亭风雨大牛的原创。链接为http://blog.csdn.net/ns_code/article/details/12977901二叉树是一种非常重要的数据结构,很多其他数据机构都是基于二叉树的基础演变过来的。二叉树有前、中、后三种遍历方式,因为树的本身就是用递归定义的,因此...
分类:
其他好文 时间:
2014-06-25 12:33:46
阅读次数:
327
2-3-4 树在计算机科学中是阶为 4 的B树。大体上同B树一样,2-3-4 树是可以用做字典的一种自平衡数据结构。它可以在O(logn)时间内查找、插入和删除,这里的n是树中元素的数目。2-3-4 树在多数编程语言中实现起来相对困难,因为在树上的操作涉及大量的特殊情况。红黑树实现起来更简单一些,所...
分类:
其他好文 时间:
2014-06-25 09:29:23
阅读次数:
419
算法一:快速排序算法
快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(innerloop)可以在大部分的架构上很有效率地被实现出来。
快速排序使用分治法(Divideandconquer)策略来把一个串...
分类:
其他好文 时间:
2014-06-25 08:29:57
阅读次数:
178
vector底层采用的是一个数组来实现,list底层采用的是一个环形的双向链表实现,而deque则采用的是两者相结合,所谓结合,并不是两种数据结构的结合,而是某些性能上的结合。我们知道,vector支持随机访问,而list支持常量时间的删除,deque支持的是随机访问以及首尾元素的删除。...
分类:
其他好文 时间:
2014-06-25 08:17:41
阅读次数:
383
面对这样的问题时我们该怎么解决?
今天写数据结构题,发现了一道总是碰见问题的题在这里我写了一种求解方法我自己称它为分层递归求解。
第一步通过观察我们知道后序遍历时最后一个是根节点A
在中序序列中A的左边是左子树右边是右子树
第二步我们来画第一层为根节点的右子树为A-C-F
第三步拆分左子树
在中序序列中为DBGE(因为我们不知道左子树中的树结构无法直接看出来就把左子树另外拆分出...
分类:
数据库 时间:
2014-06-25 07:52:29
阅读次数:
265
一、数据结构的接口
在Java中所有类的鼻祖是Object类,但是所有有关数据结构处理的鼻祖就是Collection和Iterator接口,也就是集合与遍历。
1、Collection接口
Collection c = new Xx(); // c可以称为Collection接口回调对象,虽然它被声明为Collection类型,但是实例化时实现的是接口的实现类Xx。它的方法也是用来操作实现类...
分类:
编程语言 时间:
2014-06-25 07:48:53
阅读次数:
273
使用两个队列来实现栈,C++实现,两个队列为轮流工作,每次出栈操作交换工作状态。...
分类:
其他好文 时间:
2014-06-25 06:55:00
阅读次数:
200
数字用加法分解之谜
个人信息:就读于燕大本科软件工程专业 目前大三;
本人博客:google搜索“cqs_2012”即可;
个人爱好:酷爱数据结构和算法,希望将来从事算法工作为人民作出自己的贡献;
编程语言:C++ ;
编程坏境:Windows 7 专业版 x64;
编程工具:vs2008;
制图工具:office 2010 powerpoint;
...
分类:
其他好文 时间:
2014-06-24 15:47:11
阅读次数:
274