我正在学习链接列表,问题是-编写一个函数来打印给定链接列表的中间项(假设LL有奇数节点)。
方法1-遍历LL并使用计数器计算节点数。添加1(使其为偶数),并将计数器除以2(忽略差异的数学计算)。再过一遍LL,但这一次只到倒数第二项,然后返回.
void GetMiddleTermMethod1(){
//Count the number of nodes
int counter = 0;
Node n = FirstNode;
while (n.next != null){
a<=b在性能上是否与a<b相似,或者是两次。考虑以下三种情况:
for (int i =0; i <= 10; i++) {
// Some operations here
}
for (int i =0; (i < 10) OR (i == 10); i++) {
// Some operations here
}
for (int i =0; i <10; i++) {
// Some operations here
}
你会怎么比较这三个?
用Java编写的算法应该比用JRuby编写的算法快,对吧?
然而,如果我用Java语言编写算法,然后从JRuby调用它,我还能获得java的性能优势吗?
我之所以这样问,是因为我正在为我的JRuby on Rails应用程序编写一个非常复杂的实用程序类,并且需要选择是用Java语言还是用JRuby。
因此,如果我使用以下代码:
class UtilitySampleWrapper
include Java
require 'utility.jar' #could also use .js class files if that makes a difference
我正在开发一种理论上比hashmap更有效的新数据结构。当发生碰撞时,它通过调整O(1)的大小来做到这一点。问题是,当插入数据(我最关心的度量)时,它比hashmap稍慢,而它应该要快得多。
以下是插入中使用的所有代码:
private void insert(Pair data, SwitchArray currTable){
if (currTable.isExpanded == false && currTable.iValue==null) { //checks the very first iValue
currTable.iValue = d