递归函数C ++的复杂性

时间:2020-06-10 10:47:21

标签: c++ algorithm time-complexity runtime complexity-theory

*我正在尝试计算以下函数的复杂度Big-Theta-Notation: 变量i是常数== 3 *

class LoginActivity : AppCompatActivity() {
lateinit var etUsername : EditText
lateinit var etPassword : EditText
var username = ""
var password = ""
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_login)
    etPassword = findViewById(R.id.tanggalLahir) as EditText
    etUsername = findViewById(R.id.nomerInduk) as EditText


    buttonLogin.setOnClickListener() {
    // once button click you have to get the current text value from the edit text what you have entered. 
    username = etUsername.text.toString()
    password = etPassword.text.toString()
        if (username.isEmpty()){
            Log.d("User", "Username = $username")
            nomerInduk.error = "Nomor Induk Kosong!"
            return@setOnClickListener
        }

        if (password.isEmpty()){
            Log.d("User", "Password = $password")
            tanggalLahir.error = "Tanggal Lahir Kosong!"
            return@setOnClickListener
        }

        login(username,password)
    }


}

因为它是一个递归函数,所以我认为我应该使用Master Theorem进行计算,但是实际上没有n的除法。我将非常感谢您提供任何帮助!

1 个答案:

答案 0 :(得分:0)

递归关系为T(i,n)=(n + 10)T(i-2,n)/ 5。

奇数i和偶数this.state = { user: null } 的项都是乘数(n + 10)/ 5的几何级数。这样可以解决T(i,n)= O((n / 5)^(i / 2))或O(sqrt(n / 5)^ i)的问题。