[アルゴリズム]学習を開始する前に...

889 ワード


メモリは心配する必要はありません.時間さえ気にすれば、空間はついてくる.

1.入出力


  • C : scanf/printf

  • C++ : scanf/printf, cin/cout

  • cin/coutは遅い
    ソリューション)
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);                

  • 「end」ではなく「n」を使う(endは不要な「flush」)

  • Python : input/print, sys.stdin.readlind()
  • 入力/印刷速度が遅い
    解決策)出力が多い場合は、一次出力
  • .

    2.各言語の注意事項

  • C
  • strlen(s)の時間的複雑度はO(N^2)である.
    解決方法)C++stringの.leng()、Pythonのlen()はO(1)
  • C++
  • s=s+"A"はO(N^2)
  • を表す
  • s+="A"はO(N)
  • を表す
  • Python
  • a=a+[001]はO(N)
  • を表す.
  • a.append(10001)について、O(1)
  • a=a+[1,2,3]はO(N+K)
  • を表す.
  • a.extend([1,2,3])およびa+=[4,5,6]はO(K)
  • を表す