不会数学的程序员,只能走到初级开发工程师!

news/2024/9/18 6:20:12/

作者:小傅哥
博客:https://bugstack.cn

沉淀、分享、成长,让自己和他人都能有所收获!😄

在我还是初级程序员时,每天也都粘贴着代码和包装着接口。那个阶段并没有意识到数学能在编程中起到什么作用,就算学了数学的部分知识,也没法用到编程中。但后来随着编程越来越久,逐步接手核心代码块开发时候,用到的数学越来越多了。包括:开发的规则引擎用到的B-自平衡二叉树、数据库路散列算法用雪崩测试论证了不同散列算法的使用情况、要处理非对称加密数学时验证了素数的合理选择。直到这时候越来的发现,不是知识没用,而是因为你没用到。

为了让更多的伙伴可以夯实数学基础,提升自身编程思想。小傅哥的**《程序员数学 v2.0》**PDF 22年编写完成了,今天分享给在座的各位兄弟。

一、前言:谷歌招聘

2004年,在硅谷的交通动脉 101 公路上突然出现一块巨大的广告牌,上面是一道数学题:{e 的连续数字中最先出现的 10 位质数}.com。

广告:这里的 e 是数学常数,自然对数的底数,无限不循环小数。这道题的意思就是,找出 e 中最先出现的 10 位质数,然后可以得出一个网址。进入这个网址会看到 Google 为你出的第二道数学题,成功解锁这步 Google 会告诉你,我们或许是”志同道合“的人,你可以将简历发到这个邮箱,我们一起做点改变世界的事情。

计算 e 值可以通过泰勒公式推导出来:e^x≈1 + x + x^2/2! + x^3/3! +……+ x^n/n! (1) 推导计算过程还包括埃拉托色尼筛选法(the Sieve of Eratosthenes)线性筛选法的使用。感兴趣的小伙伴可以用代码实现下。

除了谷歌以外;

  • Facebook 在面试时问过:“如何在一个有向图中找到最短路径“
  • Amazon 在面试时问过:“如何在一个有向图中找到最短路径”
  • Microsoft 在面时问过:“如何在一个有向图中找到环”
  • Apple 在面试时问过:“在一个无向图中找到最短路径”

国内的互联网也喜欢问能不能手写一个红黑树,但现在逐步升级了,从真实场景中考察你对算法运用到实际场景中的能力。比如:你运用过什么算法优化布隆过滤器的哈希碰撞、你的数据库路由算法雪崩测试如何验证的、抽奖生成x个用户生成n个抽奖码最后如何快速结算。

经过这么多,我想说:“不提升数学方面的知识积累,编程能力只能停留在初级阶段。”

二、新书:提升数学

《程序员数学 v2.0》是小傅哥关于整理编程数据结构和算法方面的书籍资料,本书为结合数据结构14篇继续扩展关于数学的14篇内容。如包括;“如何使用二进制计算乘法?”“为什么不能用斐波那契散列,做数据库路由算法?”“素数用途 - RSA 加密算法解析”“杨辉三角的数学逻辑特点”等内容。

有数学才有编程之美,代码是对数学逻辑的具体实现,有了数学支撑才让编程逻辑具有灵魂。而小傅哥也希望每一个程序员都能积累这些数学知识,如:扰动函数、负载因子、斐波那契(Fibonacci)、欧拉公式、贝祖定理、线性同于方程、中国余数定理、费马小定理等。

书籍下载:关注公众号【bugstack虫洞栈】回复【程序员数学

Hello, world of programmer mathematics! 你好,程序员数学的世界!

欢迎来到这里,很高兴你能拿到这本书。如果你能坚持看完书中每章节的内容,那么不仅可以在你的面试求职上有所帮助,也更能让你对关于程序员数学方面的知识有更加深入的学习。

《程序员数学》 是一本通过 Java 语言渐进式的讲解数据结构的书籍,通过循序渐进的方式介绍程序员数学方面的知识。全书共计 5 章 28 节,268 页 6.9 万字 200+张图片,耗时 6 个月完成。涵盖 4 类 14 种数据结构,包括:链表、数组、队列、堆栈、哈希表、堆、字典树、二分 搜索树、平衡二叉树、2-3 树、红黑树、并查集、图、布隆过滤器,以及数学部 分 14 章,包括:二进制、阶乘、斐波那契、RSA、割圆术、傅立叶变换等,后续还会继续扩充。下一次就是v3.0版本了

1. 适合人群

  1. 具备基本编程技能,在校大学生和工作的研发人员
  2. 对数据结构和算法感兴趣,但总感觉看不懂的
  3. 看了太多理论,但没有实践验证的
  4. 求职面试,总被面试题搞的死去活来的

2. 阅读建议

本书虽然是源码分析、理论实践,但并不会让读者感觉枯燥。作者:小傅哥,在每一篇的知识里都通过对数据结构的实践和配图来讲解。小伙伴在阅读的时候可以对照源码实践,并且在源码中还包括了一些必备的原图稿件方便做笔记。希望这本书彻底教会你数据结构,也让所有认真阅读的读者,学习后都能让懂了就是真的懂


好啦,这是新年前的最后一本PDF啦。每一本原创资料的PDF输出,都要在1~3个月甚至半年时间;整理资料、编写文章、开发代码,再到PDF的封面的设计和内容的归纳。 也因此希望读者伙伴可以在获取资料的同时,留言分享点赞支持,我非常需要你的帮忙!非常感谢!


http://www.ppmy.cn/news/12724.html

相关文章

juc系列(1)---进程,线程,并行,并发

目录概述进程线程关系并发并行:同步异步:对比概述 进程 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内 存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载…

Windows下IIS部署网站流程

IIS Internet information service 是一个web服务器 1. IIS用于windows系统 2.apache用于Linux系统,JAVA的web服务器 3.Nginx用于Linux,负责负载均衡,反向代理 安装完IIS之后,去更改DNS的指向。 DNS指向:IP 和 域名 的…

LeetCode 62. 不同路径

🌈🌈😄😄 欢迎来到茶色岛独家岛屿,本期将为大家揭晓LeetCode 62. 不同路径,做好准备了么,那么开始吧。 🌲🌲🐴🐴 一、题目名称 LeetCode 62. …

【数据结构与算法】顺序表的原理及实现

1.什么是顺序表 顺序表是用一段物理地址连续的存储单元进行存储元素的线性结构,通常是以数组进行存储。通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系。 2.顺序表的实现 判断顺序表是否为空表public boolean isEmpty()判断顺序表是否满publi…

【论文精读】Scaling distributed machine learning with the parameter server

Scaling distributed machine learning with the parameter server前言Abstract1. Introduction1.1 Contributions1.2 Engineering Challenges1.3 Related Work2. Machine Learning2.1 Goals2.2 Risk Minimization2.3 Generative Models3. Architecture3.1 (Key,Value) Vectors…

SH-PEG-Silane巯基-聚乙二醇-硅烷试剂简介Silane-PEG-SH

SH-PEG-Silane巯基-聚乙二醇-硅烷 外观:固体或液体,取决于分子量大小。 PEG可选分子量: 1000,2000,3400,5000,10000 溶剂: 溶于DMSO,DMF,DCM,溶于水。 纯度:>95% 保存:-20℃&#xff0c…

新入公司 git基本命令使用(二) 小乌龟版

git命令行的操作复杂不直观,且容易出错. 这里推荐大家使用 git版小乌龟插件进行使用 下载地址 :https://tortoisegit.org/download/ 安装一路next即可 创建本地仓库 右键点击克隆, 然后输入项目地址,确认 拉取代码 右键点击同步 , 然后再界面中选择好对应的分支, 点击拉取 …

Express做后端服务详细步骤,从零到一

文章目录一、全局安装脚手架二、生成项目1.生成项目2.目录结构介绍3.拓展:配置文件热更新(避免改一次文件重启一次服务)步骤1:安装nodemon步骤2:创建nodemon.json文件步骤3:更改启动命令步骤4:上…

Python基础(二十四):面向对象核心知识

文章目录 面向对象核心知识 一、面向对象三大特性 1、封装 2、继承 3、多态 二、多态 1、了解多态 2、体验多态 三、类属性和实例属性 1、类属性 2、实例属性 四、类方法和静态方法 1、类方法 2、静态方法 面向对象核心知识 一、面向对象三大特性 1、封装 将…

Java中的包装类

基本数据类型的豪华版---包装类基本数据类型包装类基本数据类型 在我们刚开始学习Java的时候,我们学习的应该就是Java中的八种基本数据类型: byte short int long float double char boolean 当时我们还说过Java是面向对象编程的语言,一切皆对象,但是受到当时知识的限制,我们还…

校招求职HR常问问题汇总

前言 前言:面试是一次重要的自我销售的过程,只不过销售的产品是你自己,你要做的就是说服面试官认为你是优秀的,从而给你一个工作机会。 文章目录前言一、回答问题的原则二、自我介绍1、注意2、模板3、达到的效果三、你还有什么问题…

卷积神经网络中特征图大小计算公式总结

W:输入特征图的宽,H:输入特征图的高K:kernel size卷积核宽和高,P:padding(特征图需要填充的0的个数),S:stride步长width_out:卷积后输出特征图的宽…

回首2022展望2023

回首2022,虽然经历反复的居家办公,但仍然努力客服家庭与工作的时间冲突,很好的完成了开发任务。并在疫情变换间隙,带着部门同事做了几次团建,锻炼了队伍,提高了凝聚力。我同时坚信迟早会全面放开。在闲暇之…

Go语言运算符

Go语言运算符 参考资料主要来源于菜鸟教程。 运算符用在程序运行时执行数学逻辑运算。 Go语言内置的运算符有: 算术运算符关系运算符逻辑运算符位运算符赋值运算符其它运算符 算术运算符 下表列出所有Go语言的算术运算符。假定A值为10,B值20。 运算符…

理解CSS

CSS 作为前端技术栈中关键一环,对页面元素及样式呈现起到了直接作用。本节课旨在通过对 CSS 的工作流程及原理、页面中 CSS 使用方法等详细解读,帮助前端新手建立对 CSS 的全面而深刻的认知。 CSS概念 CSS 即 Cascading Style Sheets,是用来…

[idekCTF 2023] Malbolge I Gluttony,Typop,Cleithrophobia,Megalophobia

这些题名字我都不认识,这是什么语呀。这个比赛感觉太难了,加上春节将近比较忙,仅作了4个简单题。记录一下。Misc/Malbolge I Gluttony这是个虚拟机的题,放入misc感觉有点不可思忆,题目给了7个命令,有"…

【初阶数据结构】——写了将近 5 万字,终于把 二叉树 初阶的内容讲清楚了

文章目录前言1. 树的概念及结构1.1 树的概念1.2 树与非树1.3 树的相关概念1.4 树的表示1.5 树在实际中的运用(表示文件系统的目录树结构)2. 二叉树概念及结构2.1 概念2.2 现实中的二叉树2.3 特殊的二叉树2.3.1 满二叉树2.3.1 完全二叉树2.4 二叉树的性质…

计讯物联数字乡村解决方案赋能乡村振兴

项目背景 数字乡村是乡村振兴的战略方向,是推动农村现代化的重要途径。当前,数字乡村建设正在加速推进,打造乡村数字治理新模式,提升乡村的数字化水平,进一步推动乡村振兴进入高质量发展新赛道。计讯物联作为数字乡村…

3.Python基础之流程控制

文章目录Python基础之流程控制顺序结构分支(选择)结构单项分支双项分支多项分支巢状分支循环结构whilefor ... in(字典的特殊使用)[https://blog.csdn.net/yaoyuanna/article/details/126009259]流程控制语句breakcontinuepassPython基础之流程控制 流程分类: 流程…

SpringBoot 注册自己的Servlet(三种方式)

SpringBoot 注册自己的Servlet(三种方式) 目录SpringBoot 注册自己的Servlet(三种方式)方法1:使用servlet3.0规范提供的注解方式注册Servlet1,声明servlet及映射2,加上ServletComponentScan 才会扫描加了这个注解运行结…