摘要:在上一节中,我们为树结点添加size域表示每颗子树的大小,即包含的结点个数,扩张了二叉查找树为其增加顺序统计量的查找功能。更为自然的想法是直接添加顺序统计量rank域到每个树结点上。这一节我们就来看下在这样的设计下,如何扩张来完成上一节相同的功能。当我们插入一个结点到二叉树中,假设它的顺序统计量为5,那么之前二叉树中顺序统计量大于5的结点都要更新。也就是说插入一个新结点到对应的位置后,要不断地查找其后继,完成rank域的更新。所以可以结合习题14.2-1,再添加两个指针域prev和next指向前趋和后继,使查找前趋和后继在O(1)内完成。下面来看具体代码。// 添加三个新域
typedef s 阅读全文
新浪微博客户端开发第一步
2012-04-09 01:34 by java线程例子, 445 阅读, 0 推荐, 收藏, 编辑
摘要:一、获得开发应用所需的“通行证”App Key和App Secret 首先必须要有新浪的账号。再打开http://open.weibo.com/登录你的账号。点击“我是开发者”:点击“创建应用”:点击“客户端”:这时,会弹出一个填写开发者信息的页面:填写完再验证完邮箱,来到创建应用的页面:点击“应用信息”下的“基本信息”,找到AppKey和AppSecret二、下载SDK接着:到http://open.weibo.com/wiki/SDK下再所需的SDK,这里是以Java为例:可以直接到http://code.google.com/p/weibo4j/中下载到所需的JavaSDK。将SDK导入 阅读全文
《算法导论》第14章 数据结构的扩张 (1)动态顺序统计
2012-04-08 17:57 by java线程例子, 296 阅读, 0 推荐, 收藏, 编辑
摘要:《数据结构扩张》是《算法导论》第三部分的最后一章。在介绍学习了这么多种数据结构之后,简要介绍了当这些基本数据结构不满足需求时,如何扩张它们来满足需求。这才是学习算法的目的,能够根据需求选择合适的数据结构和算法,并在无法满足需求时能够扩张它。这才是对算法的思想和本质的学习!可以将本章看做深入学习的前奏吧,因为紧接着就要开始进入第四部分《高级设计和分析技术》了。那么赶快来看看如何扩张数据结构,然后就进入高级部分的学习吧!1.如何扩张数据结构?1)选择基础数据结构2)确定要在基础数据结构中添加哪些信息3)验证可用基础数据结构上的基本操作来维护新添加的信息4)设计新的操作下面来看一个简单的数据扩张的例 阅读全文
《Windows游戏编程大师技巧》一、学海无涯
2012-04-07 12:06 by java线程例子, 204 阅读, 0 推荐, 收藏, 编辑
摘要:偶然发现了本很棒的游戏编程入门书 - 《Windows游戏编程大师技巧》。说是大师技巧,其实还是很深入浅出的。它涵盖了Windows图形编程的方方面面,从Win32的Helloworld程序,到GDI简介,再到DirectX的API。很适合我这种Windows编程的菜鸟,所以很喜欢这本书的内容。觉得这本书好的另一个原因是:虽然内容丰富,但没有涉及Windows编程比较繁琐的地方,基本就是Win32加DirectX。这对于不想深入学习COM、MFC等等Windows平台上众多繁杂的技术的人来说很适合。尤其是刚学完C语言,需要一些练手的小项目。Windows下的C编程与Linux下相比,比较有趣, 阅读全文
每天都应该问自己的5个问题
2012-04-04 02:36 by java线程例子, 184 阅读, 0 推荐, 收藏, 编辑
摘要:·Who am I?一个平凡的大学生。对编程有种难以抑制的狂热。·What do I want to do?有个远大的目标,想通过自己努力,实现它!·What can I do?目前,学得比较好的是Java语言。但是,只能做一些技术含量不高的东西,仍然只是菜鸟一只。·What can support me?有很大的热情,和几个志同道合的朋友。·What will I become in the end?Who kowns?最近这段日子,过得有些浑浑噩噩。要面对很多事情:1、ACM、数学建模的校级比赛2、想在学校组织一个团队,把一些想法实现。机缘 阅读全文
从索引技术谈数据库查询索引建立和查询条件书写
2012-04-01 15:04 by java线程例子, 516 阅读, 0 推荐, 收藏, 编辑
摘要:索引的优势当然是提高检索速度,但并不是说数据库建立了索引就真的会提高检索速度.为什么呢?我们知道,索引本身是有序的,索引查找的时候一般是多分查找,(当然在内存用数组实现的索引则可以做到随机查找,但数据库一般很少会采用这种方式组织,一般都是利用B+树),所以索引的查找一般不会是常数级,由于索引本身数据量问题,也不是一次就能将所有索引数据加载在内存里,所以也可能会引起多次磁盘读,加上定位到目标索引后还需要常数级的具体数据块磁盘读写,因此一次索引定位需要的磁盘读写可以控制在常数级别.因此索引查找的速度会在对数级别.但这并不等同于数据库查询时具体的查询速度,下面来分析一下:1)只有建立索引的字段作为条 阅读全文
自己最近写的一组日志处理类(线程调度优化)
2012-04-01 08:18 by java线程例子, 1448 阅读, 0 推荐, 收藏, 编辑
摘要:前面分享的一篇文章<<自己最近写的一组日志处理类(支持高并发处理)>>里写了一个多线程的写日志的类,当时测试的时候没有太注意,后面发现这个日志类占用cpu太厉害,经过调试发现问题出在对于线程的挂起(Suspend)和唤醒(Resume)上面(这两个方法已经在新的框架里里面被废掉了).我调用这两个方法的目的就是在没有日志写的时候,线程不要再运行,等待有需要写日志的时候再继续工作.后面改了一种方式来实现这个目的,CPU占用问题就解决了,当然下面的这种方式也是对线程挂起和唤醒的一种新的替代方式,下面是修改后的代码,注释很详细,原来的代码大家请参考前面的博文: /// < 阅读全文
no matching editors or conversion strategy found
2012-03-31 13:38 by java线程例子, 859 阅读, 0 推荐, 收藏, 编辑
摘要:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'testAction' defined in file [E:\Workspace\JavaEE\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\extjs001\WEB-INF\classes\applicationContext.xml]: Initialization of bean failed; nested exce 阅读全文
ACM入门之杭电1045:Fire Net C++解法
2012-03-31 01:31 by java线程例子, 262 阅读, 0 推荐, 收藏, 编辑
摘要:Fire Net地址:http://acm.hdu.edu.cn/showproblem.php?pid=1045Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2957Accepted Submission(s): 1700Problem DescriptionSuppose that we have a square city with straight streets. A map of a city is a square board 阅读全文
委托类型协变和逆变的实际意义
2012-03-30 16:31 by java线程例子, 252 阅读, 0 推荐, 收藏, 编辑
摘要:设一个委托 TypeA1 DelegateDefine(TypeB1 b)和实际调用的委托方法TypeA2 DelegateInstance(TypeB2 b){}根据面向对象继承使用的原则,DelegateInstance要赋给DelegateDefine委托变量,供调用者调用,对于委托而言,相当于公共的规范,返回类型是TypeA,那么你实际返回类型就必须是TypeA或者TypeA的子类,也就是说,对于委托返回类型而言,实际的委托方法的返回类型必须是其子类,即TypeA2必须是TypeA1的子类,这就是所谓的返回类型的协变.而对于委托参数b的TypeB1类型而言,这其实是告诉实际委托方法,我 阅读全文