-2

我正在使用布尔存在来检查目录中是否存在文件。我想知道这个方法的时间复杂度,部分代码在这里

 File fil = new File(StoreFolder + "\\"+FileData); 
    boolean exists = fil.exists(); 
    if (!exists)
    {

    //DO SOMETHING    
    }
    else
    {
    StoreVirus[(int)TotalVirusCount]=StoreFolder;
    TotalVirusCount++;
    System.out.println("path:" +StoreFolder +" "+FileData);
    }

我也在比较两个字符串数组,因为我正在使用下面的代码,我也想要这个代码的时间复杂度,请提供一些帮助,在此先感谢

      Hashtable hash=new Hashtable();
      for(int i=0;i<counter;i++){
      hash.put(plist[i], 0);
      }
      for(int j=0;j<totalup;j++){
          if(hash.containsKey(upd[j])){
          hash.put(upd[j], 1);
          }
          else{
          hash.put(upd[j],0);
          }
     Enumeration e=hash.keys();
     while(e.hasMoreElements()){
     String tr=(String) e.nextElement();
     if(hash.get(tr)!=0)
     {
     System.out.println(tr);
     jTextArea1.insert(tr +"\n", 0);
     }

                             }

      }

upd 和 plist 是字符串数组。

4

1 回答 1

1

第一部分的运行时间为O(1),第二部分的运行时间为O(n^2)

应该注意,这些运行时间是“最坏情况”运行时间。

平均而言,第二种算法的运行时间将是O(n*k);

于 2013-06-17T05:39:45.337 回答