当前位置:  编程技术>综合
本页文章导读:
    ▪递归式求解-主定理      1.主定理:设a>=1和b>1为常数,设f(n)为一函数,T(n)由递归式 对非负整数定义,其中n/b指下取整或上取整.那么T(n)可能有如下的渐进界: (1)若对于某常数 ε>0,有,则; (2)若.则; (3)若对于某常数&.........
    ▪初步接触storm          今天学习了一下storm的相关知识,不是很深入,就是看了一下storm-starter-master项目里的WordCountTopology。直接运行报错,发现这个例子中,有个Bolts是用python或者ruby语言开发的。因.........
    ▪jQuery MiniUI 开发教程 导航控件 OutlookTree:折叠树(九)      OutlookTree:折叠树 参考示例:OutlookTree:折叠树 创建OutlookTree <div id="leftTree" url="../data/outlooktree.txt" onnodeselect="onNodeSelect"     textField="text" idField="id" parentField="pid"> </div> .........

[1]递归式求解-主定理
    来源: 互联网  发布时间: 2013-11-05

1.主定理:设a>=1和b>1为常数,设f(n)为一函数,T(n)由递归式

对非负整数定义,其中n/b指下取整或上取整.那么T(n)可能有如下的渐进界:

(1)若对于某常数 ε>0,有,则;

(2)若.则;

(3)若对于某常数 ε>0,有,且某常数 c<1与所有足够大的n,有,则



2.主定理的使用方法.

由主定理的三种情况可以看出,每一种情况都要比较 f(n) 与进行比较.(求复杂度时,通常取上界)

第一种情况,f(n)与进行比较,较大,则解为

第二种情况,两种函数同样大,这是乘以对数因子lgn,即

第三种情况,f(n)较大,则递归式的解为


3.例题示范

(1).,求这个递归式的复杂度.

第一步.计算,可求得=n^2,

第二步.与f(n)=n进行比较,因此符合第一种情况,解得


(2)

第一步.计算,可求得a=1, b=3/2,因此=

第二步.与f(n)=1进行比较,符合第二种情况,解得


(3)第三中情况和第一种类似,不再举例


(4)

第一步.计算,a=2, b=2,    = n.看上去符合第三种情况,因为f(n)=lgn渐进大于n,但是不是多项式大于. 

 对于任意正常数ε,比值f(n)与等于nlgn/n = lgn.渐进小于n^ε,(可用求极限方法分子分母同时求导求得).这种情况落在情况二和情况三之间.

这种情况下的递归式求解要用到:(算法导论4.4-2)

定理:若,其中k>=0,则主定理中递归式的解为


作者:ustcqi 发表于2013-1-5 16:22:35 原文链接
阅读:28 评论:0 查看评论

    
[2]初步接触storm
    来源:    发布时间: 2013-11-05
    今天学习了一下storm的相关知识,不是很深入,就是看了一下storm-starter-master项目里的WordCountTopology。直接运行报错,发现这个例子中,有个Bolts是用python或者ruby语言开发的。因为这个例子要完成的任务就是计算单词的频率,比较简单,所以打算调通它,然后把程序一步步的跟一遍,这样就好理解一些内容了。

    我的方法就是把SplitSentence的核心用java实现。

    首先肯定不用再扩展ShellBolt了,也不实现IRichBolt,而是实现BaseBasicBolt。在execute方法里的内容就照着python代码,最后一句写成
collector.emit(new Values(word,1));

但是报错:
Tuple created with wrong number of fields. Expected 1 fields but got 2 fields
说实话,我在截止错误出现的时候,对storm的理解都是相当含糊的,于是我把上面那句改成
collector.emit(new Values(word));
居然能正确运行,这纯粹是撞上的,不过这倒让我对declareOutputFields这个方法的作用有了了解。在本例中,declareOutputFields里的内容是:
declarer.declare(new Fields("word"));
它声明了该Bolt的输出字段,只有一个。如果是
declarer.declare(new Fields("word","count"));则最初的那种格式是可以的。

而且,在fieldsGrouping函数里面,还可以设定从上一个Bolt中获得哪些Fields。
我觉得写Topology就像是水管工人的工作,把水流引流到需要的地方去。

已有 0 人发表留言,猛击->>这里<<-参与讨论


ITeye推荐
  • —软件人才免语言低担保 赴美带薪读研!—




    
[3]jQuery MiniUI 开发教程 导航控件 OutlookTree:折叠树(九)
    来源:    发布时间: 2013-11-05
OutlookTree:折叠树


参考示例:OutlookTree:折叠树

创建OutlookTree

<div id="leftTree" url="../data/outlooktree.txt" onnodeselect="onNodeSelect"
    textField="text" idField="id" parentField="pid">
</div>

数据格式
[
    {id: "user", text: "用户管理"},
       
    {id: "lists", text: "Lists", pid: "user" },
           
    {id: "datagrid", text: "DataGrid", pid: "lists"},           
    {id: "tree", text: "Tree" , pid: "lists"},
    {id: "treegrid", text: "TreeGrid " , pid: "lists"},
       
    {id: "layouts", text: "Layouts", expanded: false, pid: "user"},
       
    {id: "panel", text: "Panel", pid: "layouts"},
    {id: "splitter", text: "Splitter", pid: "layouts"},
    {id: "layout", text: "Layout ", pid: "layouts"},
       
    { id: "right", text: "权限管理"},
       
    {id: "base", text: "Base", expanded: false, pid: "right" },
               
    {id: "ajax", text: "Ajax", pid: "base"},
    {id: "json", text: "JSON", pid: "base"},
    {id: "date", text: "Date", pid: "base"},
       
    {id: "forms", text: "Forms", expanded: false, pid: "right"},
               
    {id: "button", text: "Button", pid: "forms"},
    {id: "listbox", text: "ListBox", pid: "forms"},
    {id: "checkboxlist", text: "CheckBoxList", pid: "forms"},
    {id: "radiolist", text: "RadioList", pid: "forms"},
    {id: "calendar", text: "Calendar", pid: "forms"}               
]



已有 0 人发表留言,猛击->>这里<<-参与讨论


ITeye推荐
  • —软件人才免语言低担保 赴美带薪读研!—




    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3