第一题:机器翻译模拟可以用STL里的vector或list实现插入、删除、查找操作。第二题:乌龟棋动态规划用 f(i, j, k, t) 表示分别用了i张卡片1、j张卡片2、k张卡片3、t张卡片4能得到的最大分数,则f(i, j, k, t) = max{ f(i-1, j, k, t), f(i,...
分类:
其他好文 时间:
2014-08-02 12:43:13
阅读次数:
188
主要参考>Java语言描述(Mark Allen
Weiss)二叉查找树主要的操作是:1.查找,2,插入,删除。查找操作:从根节点开始,递归查找。如果值等于当前根节点,返回根节点存储的值。若果查找的值小于跟根节点的值,则查找左子树,反之递归查找右子树。如果要查找的当前节点为NULL,说明查找结束了,...
分类:
编程语言 时间:
2014-06-16 06:56:30
阅读次数:
277
skiplist介绍跳表(skip
List)是一种随机化的数据结构,基于并联的链表,实现简单,插入、删除、查找的复杂度均为O(logN)。跳表的具体定义,跳表是由William
Pugh发明的,这位确实是个大牛,搞出一些很不错的东西。简单说来跳表也是链表的一种,只不过它在链表的基础上增加了跳跃功能...
分类:
其他好文 时间:
2014-06-07 07:18:01
阅读次数:
239
二叉树中任意左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。两种解法。第一种:菜鸟的解法,出现重复遍历,时间复杂度高。第二种:大神的解法,只遍历一次,高端大气上档次。
分类:
其他好文 时间:
2014-05-19 13:47:09
阅读次数:
244
对于线性表我们应掌握如下要点:1、 掌握线性表的结构特点:顺序存储和链式存储。2、
掌握线性表的基本操作:初始化,插入,删除,查找,判空,求线性表长度等运算在顺序存储结构和链式存储结构上的实现。顺序存储具有随机访问的特点,而链式存储具有顺序访问的特点。对于不同的应用我们应当选择不同的结构。顺序结构实...
分类:
其他好文 时间:
2014-05-18 00:23:40
阅读次数:
404
散列表是一种ADT。散列表的实现常常叫做散列(hashing),它是一种用于以常数平均时间执行插入、删除、查找的技术。需要元素间任何排序信息的操作将不会得到有效的支持。例如FindMax、FindMax、按序输出等。
散列表的关键是确定散列函数,《数据结构与算法分析》中提到了几种散列函数,但都不是完美的。能解决冲突但有可能散列表占用率不高。字符串中的字符不是随机出现,这也影响到了散列表的...
分类:
其他好文 时间:
2014-05-16 00:04:10
阅读次数:
493
//链表操作:建立、插入、删除、查找、倒置、删除等基本操作
#include
#include
typedef
struct LNode
{
int data;
structLNode *next;
}LNode,*Llist;
LNode *creat_head();//创建一个空表
void creat_list(LNode *,int);//创...
分类:
其他好文 时间:
2014-05-11 03:33:11
阅读次数:
351
支持泛型AVL Tree的简单实现,并和STL map比较了插入,删除,查找的性能...
分类:
其他好文 时间:
2014-04-27 19:43:40
阅读次数:
400