我们平时接触的长乘法,按位相乘,是一种时间复杂度为O(n^2)的算法。今天,我们来介绍一种时间复杂度为O(n^log3)的大整数乘法(log表示以2为底的对数)。介绍原理karatsuba算法要求乘数与被乘数要满足以下几个条件,第一,乘数与被乘数的位数相同;第二,乘数与被乘数的位数应为2次幂,即为2^2,2^3,2^4,2^n等数值。下面我们先来看几个简单的例子,并以此来了解karatsuba算法的使用方法。两位数相乘我们设被乘数A=85,乘数B=41。下
系统 2019-09-27 17:55:47 2735
前几天发了一篇关于垃圾收集的帖子,自己也不是这方面的专家,所以肯定有很多问题和错误,也请大家多多包涵和指教。今天再进一步谈一下这个几个Reference吧。老实说,这几个名词我也是最近才听说,平时也没有实际使用过,但是确实在java1.2就存在的,看来真的是学无止境啊。softlyreachable:TheobjectisthereferentofaSoftReference.Thegarbagecollectorwillattempttopreserve
系统 2019-08-29 23:47:15 2735
这是一篇自我反思,因为我总觉得自己像个没头苍蝇:感觉有很多事要做,但其实又没做什么,把自己搞得很累却又没啥大的收获。要么毫无追求,至少有个平淡的心态去享受每天的生活;要么有所追求,努力的去达成自己的目标。我不是第一种,至少还没到那个境界,所以必须是第二条路。那么究竟是哪里出了问题:我浪费了很多时间,很多很多时间,这种浪费不仅仅是浪费,更是培养了一种逃避的心态:要做正式的事之前,先上会微博轻松一下,“准备”一下吧;对于研究、阅读资料,我们更醉心于收集资料;在
系统 2019-08-29 23:04:39 2735
联合(Union)是一种构造数据类型,它提供了一种使不同类型数据类型成员之间共享存储空间的方法,同时可以实现不同类型数据成员之间的自动类型转换。联合体对象在同一时间只能存储一个成员的值。联合的内存大小取决于其中字节数最多的成员,而不是累加,联合也会进行字长对齐。在定义联合变量的时候可以指定初始值,但是只能制定一个初始值(测试过似乎无法设置初值),而且该初始值的类型必须与联合的第一个成员的类型匹配。可以取一个联合变量的地址,也可以取变量中的任一个成员的地址,
系统 2019-08-29 22:30:38 2735
前一阵子,实验室老师个了个小命题,就是如何提取一段AVI视频中的图片,或者说视频帧的提取。虽然是第一次接触OPENCV,可是做起来也是不难的,自己的代码就不拿出来了,写的很乱,网上的这个代码比较不错,为了说明我们的主题,姑且拿这段代码做个试验。#include#include#include#include#include#defineNUM_FRAME5591//只处
系统 2019-08-12 09:27:27 2735
问题:检测到LoaderLockMessage:正试图在OS加载程序锁内执行托管代码。不要尝试在DllMain或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。解决方法:1.在VS中点击菜单栏中的调试选项,出现调试下拉菜单2.在点击下拉菜单中的异常项,弹出异常窗口3.将ManagedDebugginAssistants中的LoaderLock项的打钩去掉4.确定LoaderLock解决方法
系统 2019-08-12 09:26:48 2735
C#动态生成Word文档步骤之一:添加引用->COM->MicrosoftWord11.0ObjectLibraryC#动态生成Word文档步骤之二:在.cs文件中添加usingWord;下面的例子中包括C#对Word文档的创建、插入表格、设置样式等操作:(例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#操作word文档的方法)publicstringCreateWordFile(stringCheckedInfo)...{stringmessag
系统 2019-08-12 09:26:44 2735
环境:Ubuntu+Oracle10gxeedition俗话说,工欲善其事,必先利其器。同样,在linux下学习Oracle,sqlplus是最直接来使用的工具。设置好sqlplus的参数,有利于提高学习效率。话不多说,下面说说我常用的一些设置。请大家不吝赐教,多提意见。(1)使用vim编辑器SQL>editedit命令对当前脚本进行编辑,调用默认编辑器ed。如果大家熟悉vi的话,用它来做默认编辑器就很方便了。有二种方式来设置vi作为默认编辑器:方式一是编
系统 2019-08-12 01:53:46 2735
PERCENTILE_DISC功能描述:返回一个与输入的分布百分比值相对应的数据值,分布百分比的计算方法见函数CUME_DIST,如果没有正好对应的数据值,就取大于该分布值的下一个值。注意:本函数与PERCENTILE_CONT的区别在找不到对应的分布值时返回的替代值的计算方法不同SAMPLE:下例中0.7的分布值在部门30中没有对应的Cume_Dist值,所以就取下一个分布值0.83333333所对应的SALARY来替代SELECTlast_name,s
系统 2019-08-12 01:52:10 2735
【IT168专稿】谈到GAM和SGAM,我们不得不从数据库的页和区说起。一个数据库由用户定义的空间构成,这些空间用来永久存储用户对象,例如数据库管理信息、表和索引。这些空间被分配在一个或多个操作系统文件中。当我们创建一个数据库的时候,例如以缺省的方式CREATEDATABASETESTDB,SQLServer自动帮我们创建好如下两个数据库文件。这两个数据文件是实实在在的操作系统文件,其中一个是叫行数据文件,用来存储数据库的各种对象,另外一个是日志文件,从来
系统 2019-08-12 01:33:24 2735