编程语言
首页 > 编程语言> > 算法基础知识

算法基础知识

作者:互联网

算法就是一种高效解决问题的技巧或者方法

在接下来的学习中,如果你要能看的懂算法,有一些知识点,你需要提前了解到

1、一些代数知识

1>、先来一个小案例,给定函数 f(x) = x * 2 。那么 f(5) 的值是多少呢?如果你的答案是10、那就ok

f(x)中的 x 代表自变量, f 代表因变量
x = 5
那么计算结果:x*2 = 5*2 = 10

2>、对数 log{_{2}}^{16}  ,的值是多少呢?如果你知道是 4、那就ok

在数学中,对数是对求幂的逆运算,正如除法是乘法的倒数,反之亦然

如果a的x次方等于N(a>0,且a≠1),那么数x叫做以a为底N的对数(logarithm),记作x=log^{​{a_{}}^{N}}。其中,a叫做对数的底数,N叫做真数

2*2*2*2 = 16

所以计算结果是 4

3>、幂运算:2^3 、2的3次方如果你你算出来是 8 、那就ok

同底数幂相乘,底数不变,指数相加。同底数幂相除,底数不变,指数相减。幂的乘方,底数不变,指数相乘

2、一些算法的表达方式

1> 如何表达算法的复杂程度?

# 如果我的通讯录里面有100个人,我要找其中一个,我可能需要100次才能命中它
那么此算法的复杂度是:O(100)

# 如果我的通讯录里面有1个人,我要找一个人的话,我需要1次命中它
那么此算法的复杂度是:O(1)

# 如果我的通讯录里面有100个人,我要用二叉树算法找一个人的话,我最多需要7次可以命中它。根据对数运算,2作底数,100作真数,计算出来的结果大约是7
那么此算法的复杂度是:O(7)

 

3、至少熟悉一门编程语言

可以是 c、js、java、php、python  因为用这些语言可以帮你把你的算法进行实现

 

标签:ok,底数,基础知识,算法,通讯录,对数,100
来源: https://blog.csdn.net/libinemail/article/details/112575309