算法基础知识

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

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

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

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

a^{m} * a^{n} = a^{m+n}

(a^{m})^{n} = a^{mn}

(ab))^{n} = a^{n}b^{n}

a^{m} \div a^{m} =a^{m-n} (m>n, a\neq0 )

 

4> 、阶乘运算:4! 、4的阶乘运算如果你算出来是 24、那就ok

阶乘是用来解决一些排列与组合问题

例如组合:有四个元素,6 4 2 1,写出这四个数能组成的两位数比如  62 12 42.......

n!=n×(n-1)×(n-2)×(n-3)×...×1

4! = 1*2*3*4 = 24

双阶乘表示方法:
(2n-1)!!
当n=2时,3!!=3×1=3
当n=3时,5!!=5×3×1=15
当n=4时,7!!=7×5×3×1=105

 

2、一些算法的表达方式

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

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

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

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

 

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

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

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汀风说后端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值