引数 n が負の整数でなく、アルゴリズムの実行時間 = 代入の数 + 数を加算する数とする場合のビッグオー、ビッグシータの求め方について、

(1)

fnc(n){
    a=0 // +1回
    if nが奇数: 
         for i = 1 to n: // +n回
            a += 1;      // +n回
    return a;
}

↑の関数の場合nが奇数なら合計1+n*2 = 2n+1 の実行時間となるのでビッグオーで表すとO(n)ということでよいでしょうか?

(2)

fnc(n){
    if n < 10:
        return 0;
    return fnc(n - 3) + 1;
}

(2)に関してはビッグオーの求め方自体がわかりません。再帰処理がある場合のビッグオーはどのようにして求めたら良いのでしょうか?