如果您喜欢这些文章,欢迎点击此处订阅本Blog
在前面专题中讲的BST、AVL、RBT都是典型的二叉查找树结构,其查找的时间复杂度与树高相关。那么降低树高自然对查找效率是有所帮助的。另外还有一个比较实际的问题:就是大量数据存储中,实现查询这样一个实际背景下,平衡二叉树由于树深度过大而造成磁盘IO读写过于频繁,进而导致效率低下。那么如何减少树的深度(当然不能减少查询数据量),一个基本的想法就是:1.每个节点存储多个元素(但元素数量不能无限多,否则查找就退化成了节点内部的线性查找了)。2.摒弃二叉树结构,采
系统 2019-08-29 21:59:55 2263
对于不同的系统,程序运行内存的分配可能略有不同,这里只以最基本的4块做介绍。堆内存(Heap)是用于动态给new出来的对象分配空间(每个对象大小不定),堆内存比较大;对象的引用(一般在方法体内,new对应之后赋给一个引用),可以看成局部变量,在stack中分配空间(即栈内存);基础类型变量只分配一块内存(stack),引用类型变量占两块内存(heap,stack)。①Load到内存区(程序----我们编写的代码是存在硬盘上面的);②找到main方法开始执行
系统 2019-08-12 09:30:09 2263
装饰(Decorator)模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。一,结构抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。具体构件(ConcreteComponent)角色:定义一个将要接收附加责任的类。装饰(Decorator)角色:持有一个构件(Component)对象的实例,并定义一个与抽象构件接口一致的接口。具体装饰(ConcreteDecorat
系统 2019-08-12 09:29:46 2263
一概述集成细节,本文不再复述,请参考之前的quartz1.8.6单机版的集成文章quartz系列(一)spring3.2.5与quartz1.8.6单机版集成详细说明http://phl.iteye.com/blog/906313,本文侧重讲解与quartz2.1.7集群版的集成。现今互联网“高端大气上档次”的应用,都会避免单点故障,提供集群方案。集群版的功能如下:1)部署多台服务器,同一时间有且只有一台服务器触发定时任务;2)可以提供任务恢复机制,如果某
系统 2019-08-12 09:29:43 2263
下面的程序片段是将一个图片插入到打开的Word文档中,并让其浮于文字的上面。代码1Word.Documentdoc=this.msWord1.CurrentDocument;2objectmissing=System.Reflection.Missing.Value;3objectstart=10;4objectend=20;5Word.Rangerg=doc.Range(refstart,refend);6objectorg=(object)rg;7Wo
系统 2019-08-12 09:27:00 2263
说明:可能是用windows时间长的关系,总感觉linux下的软件管理很麻烦。特意说明下:这里的方法非原创,都是在安装过程中遇到问题在搜索之后的整理。作为一种经验整理。·安装:依赖库:基本:--应该是最小集,但我安装这些后还是缺少库。libboost-dev,libevent-dev,libtool,flex,bison,g++,automake,pkg-config,libboost-test-devlibmono-dev,ruby1.8-dev,lib
系统 2019-08-12 09:26:54 2263
本文是小小的总结一下本人开发时要在sybase数据库上创建特定的触发器创建的触发器完成的功能如下:在数据库中指定的表上创建插入,更新,删除触发器,当指定的表发生插入、更新或者删除操作时,将触发触发器相应的动作,触发器的作用就是,将发生上述操作的表的表名、主键名、对应的主键值、相应的操作存到另一张记录表中。本总结中除了创建该类型触发器外还包括删除触发器,删除记录表,判断是否已有记录表。需要导入的架包:activejdbc.jar,jconn3.jar:imp
系统 2019-08-12 01:55:04 2263
OMF,全称是Oracle_ManagedFiles,即Oracle文件管理,使用OMF可以简化管理员的管理工作,不用指定文件的名字、大小、路径,其名字,大小,路径由oracle自动分配。在删除不再使用的日志、数据、控制文件时,OMF也可以自动删除其对应的OS文件。OMF支持下列文件的自动管理:表空间日志文件(联机)控制文件前提条件:需要为这些类型文件设定相关参数。一.数据文件的OMF管理数据文件管理参数:db_create_file_destdb_cre
系统 2019-08-12 01:54:29 2263
pivot是用来把某列字段转成行字段,可能我描述不太清楚,这个用过的都知道的啦,所以我也不费口水了,切入正题。我之前用pivot建了个视图View1,然后我有一个sql语句,如下(一直都运行得好好的):Select*From[View1]OrderByCreateDateDesc突然间,这玩意不知道抽什么风,一执行就超时,半个小时都无响应,而实际上的数据(Select*From[View1])只有400来条~~,真火大。后来想想,之前一直好好的,会不会是因
系统 2019-08-12 01:53:00 2263