我认为快速排序应该比中等大小的无顺序int数组上的插入排序更快.我在java中实现了这两种算法,我注意到quicksort比插入sorrt慢得多.
我有一个理论:quiksort正在变慢,因为它是递归的,并且它在JVM中调用它自己的方法签名是非常慢的,这就是为什么我的计时器提供比我预期更高的读数,而插入不是递归的,所有我们的工作是在一种方法中完成的,所以他们JVM不需要做任何额外的工作吗?amirite?
我有这个输入文字:
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body><table cellspacing="0" cellpadding="0" border="0" align="center" width="603"> <tbody><tr> <td><table cellspacing="0" cellpadding="0" border="0" width="603"> <tbody><tr> <td width="314"><img height="61" width="330" src="/Elearning_Platform/dp_templates/dp-template-images/awards-title.jpg" alt="" /></td> <td width="273"><img height="61" width="273" src="/Elearning_Platform/dp_templates/dp-template-images/awards.jpg" alt="" /></td> </tr> </tbody></table></td> </tr> <tr> <td><table cellspacing="0" cellpadding="0" border="0" align="center" width="603"> <tbody><tr> <td colspan="3"><img height="45" width="603" src="/Elearning_Platform/dp_templates/dp-template-images/top-bar.gif" alt="" /></td> </tr> <tr> <td background="/Elearning_Platform/dp_templates/dp-template-images/left-bar-bg.gif" width="12"><img height="1" width="12" src="/Elearning_Platform/dp_templates/dp-template-images/left-bar-bg.gif" alt="" /></td> <td width="580"><p> what y all heard?</p><p>i'm shark oysters.</p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p></td> <td background="/Elearning_Platform/dp_templates/dp-template-images/right-bar-bg.gif" width="11"><img height="1" width="11" src="/Elearning_Platform/dp_templates/dp-template-images/right-bar-bg.gif" alt="" /></td> …Run Code Online (Sandbox Code Playgroud) 我的要求
表需要维护状态列.
此列代表5种状态之一.
初步设计
我想我可以使它成为一个整数列,并使用数值表示状态.
由于我不希望我的应用程序维护从整数到字符串描述的映射,因此我计划将它们放在单独的状态描述表中(依赖于FK关系).
然后我发现MySQL的ENUM类型完全符合我的要求.除了直接依赖MySQL之外,使用ENUM类型有任何陷阱吗?
是否可以托管从SourceForge的文件发布系统提供工件(至少是jar文件)的Maven存储库(因为它们已经存在并且SF提供下载统计信息等)?
我见过的所有存储库都使用相同的目录布局,但这是必须的吗?下载网址必须更像http://sf.net/something.cgi?file-id=1234567
项目中只有少量文件,因此半手动维护某种存储库元数据XML文件中的下载URL仍然是一种选择.
注意:这是一个相反的问题,如何将Maven构建中的工件部署到SourceForge文件发布系统?
澄清:我想将文件放在文件发布系统(项目下载)中,而不是项目Web空间或subversion存储库中.
以下嵌套循环的Big-O时间复杂度是多少:
for(int i = 0; i < N; i++)
{
for(int j = i + 1; j < N; j++)
{
System.out.println("i = " + i + " j = " + j);
}
}
Run Code Online (Sandbox Code Playgroud)
它还是O(N ^ 2)吗?
我有这样的哈希
{ 55 => {:value=>61, :rating=>-147},
89 => {:value=>72, :rating=>-175},
78 => {:value=>64, :rating=>-155},
84 => {:value=>90, :rating=>-220},
95 => {:value=>39, :rating=>-92},
46 => {:value=>97, :rating=>-237},
52 => {:value=>73, :rating=>-177},
64 => {:value=>69, :rating=>-167},
86 => {:value=>68, :rating=>-165},
53 => {:value=>20, :rating=>-45}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能对它进行排序:评分?或者我应该使用一些不同的结构?
我刚读过Joel Spolsky的文章"没有芭蕾舞短裙的塔塔",乔尔说,
在那些日子里,没有应用程序服务器.
和
那些日子里确实没有任何其他应用服务器.
基本上,那些时候人们如何编写网络应用程序?他们是否编写了自己的Web服务器和应用服务器实现?公司什么时候开始推出Tomcat,JBoss等"标准"网络/应用服务器?人们也可以分享任何与此相关的轶事,如果有的话吗?网站链接也表示赞赏......
考虑一个带有自动增量列的简单表,如下所示:
CREATE TABLE foo
(
`fooid` bigint unsigned NOT NULL auto_increment,
....snipped.... other columns
PRIMARY KEY (`fooid`)
)
ENGINE=InnoDB AUTO_INCREMENT=10
Run Code Online (Sandbox Code Playgroud)
如何重新设计这个以便我们不会达到bigint数据类型的最大值?无符号范围是0到18446744073709551615.我不知道要达到18446744073709551615需要多长时间,但是就像Y2K问题一样,我想做好准备.
我一直在想,在某些东西是自动线程安全之前你必须要做的事情有多深?
快速举例:
int dat = 0;
void SetInt(int data)
{
dat = data;
}
Run Code Online (Sandbox Code Playgroud)
..这种方法会被视为线程安全吗?为了确定,我通常将所有的设置方法都包含在互斥锁中,但每次我这样做时,我都忍不住认为这是一个无用的性能开销.我想这一切都分解为编译器生成的程序集?什么时候线程能够闯入代码?每个汇编指令还是每个代码行?在设置或销毁方法堆栈期间线程是否可以中断?像i ++这样的指令是否会被认为是线程安全的 - 如果不是,那么++ i呢?
Lotsa在这里提问 - 而且我不希望直接回答,但关于这个主题的一些信息会很棒:)
[更新]因为现在对我来说很明显(对你们这些人来说<3),在线程中唯一原子保护的东西是汇编指令,我知道这个问题:互斥和信号量包装类怎么样?像这样的类通常使用制作callstacks的方法 - 而且通常使用某种内部计数器的自定义semaphoreclasses不能保证原子/线程安全(无论你想要什么,只要你知道我的意思,我不在乎: P)