程序员的数学基础课

二进制

十进制计数是使用 10 作为基数,那么二进制就是使用 2 作为基数,类比过来,二进制的数位就是 2^n 的形式。

  • 逻辑右移 1 位,左边补 0 即可。 >>
  • 算术右移时保持符号位不变,除符号位之外的右移一位并补符号位 1。补的 1 仍然在符号位之后。 >>>

余数

散列函数、加密算法、循环冗余校验

迭代法

  • 求数值的精确或者近似解
  • 在一定范围内查找目标值
  • 机器学习算法中的迭代

排列 组合

  • n 个元素里取出 m 个的组合,可能性数量就是 n 个里取 m 个的排列数量,除以 m 个全排列的数量,也就是 $(n! / (n-m)!) / m!$
  • 对于全组合而言,可能性为 2^n 种。例如,当 n=3 的时候,全组合包括了 8 种情况。

动态规划

时间、空间复杂度

概率论

线代

程序员的数学应用地图

.

References

  • 程序员的数学基础课 - 极客时间
Get Things Done
Built with Hugo
Theme Stack designed by Jimmy