-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);
    }

また、2 つの文字列配列を比較しています。そのために、次のコードを使用しています。このコードの時間の複雑さも必要です。助けを提供してください。事前に感謝します

      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)で、2 番目の部分の実行時間はO(n^2)です。

これらの実行時間は「最悪の場合」の実行時間であることに注意してください。

平均して、2 番目のアルゴリズムの実行時間はO(n*k);

于 2013-06-17T05:39:45.337 に答える