![](https://img-blog.csdnimg.cn/20210302123249411.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数学&&数据结构
程序 = 数据结构 + 算法
至学者
有道无术,术尚可求,有术无道,止于术!
展开
-
回顾直接插入排序的处理过程
一 概述 当我们将要把L(i)插入到已有序的子序列L[1...i-1]中时,我们会进行以下处理。二 直接插入排序的处理过程1. 我们希望将L(i)插入到有序序列中的某个位置K,先要找到K在有序序列中的具体位置。2. 当我们找到1中的位置之后,我们就需要将有序列中从K开始以及之后的有序子序列整体后移一位。3. 最后将L(i)复制到当前有序序列的K位置。说明,由于使用过程会考虑借助数组来完成排序,所以数据所...原创 2022-03-04 08:24:21 · 116 阅读 · 0 评论 -
回顾基础概念之排序算法的稳定性
一 概述在排序算法中有一类可以被划分为交换排序,如常见的冒泡排序,快速排序等,这些需要通过排序项的两两比较然后交换位置,此时就涉及到算法的稳定性了。二 稳定性若待排序表中有两个元素A和B,其对应的关键字相同即KeyA=KeyB,在执行排序之前A是排在B的前面。若使用某一排序算法排序之后,当A和B的前后顺序没有发生改变的时候,此时的排序算法就是稳定的。当只是数值比较排序的时候,对于数值相同排序,算法的稳定并不会影响到排序结果,但是当排序对象存在其...原创 2022-03-03 07:58:17 · 111 阅读 · 0 评论 -
回顾数据结构与常用知识的关联
一 概述在常见的开发过程中,我们会使用到各种开发组件,如数据库MySQL,Redis,JDK等。二 日常工作与CRUD相关的数据结构数据库索引,使用了Hash表,红黑树,B+树的数据结构,利用这些数据结构的目的大部分就是为了节省空间,或者优化查询速度,也就是如何优化解决一个问题的时间和空间复杂度。Redis中支持的String,Hash,List,Set,sorted set(zset)等数据结构,同样也是对时间,空间复杂度的优化处理,其支持的...原创 2022-03-02 23:10:09 · 737 阅读 · 0 评论 -
回顾标准差和方差
一 概述大学的概率论中方差是衡量随机变量或者一组数据离散程度的度量,它可以度量随机变量和其数学期望(均值)之间的偏离程度。二 方差的计算统计中的标准方差实际为各个样本数据与平均数之间差值的平方和的平均值。三 标准差的计算 标准差实际上即为方差的平方根。参考:方差、标准差、均方差、均方误差(MSE)区别总结 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/83410946...原创 2022-01-16 16:50:53 · 297 阅读 · 0 评论 -
回顾分布式系统实现一致性算法之raft
一 概述 raft算法:保证CPRaft (thesecretlivesofdata.com)http://thesecretlivesofdata.com/raft/ 关键信息: 随从节点:存在150ms到300ms的自旋等待,同时当在这个时间没有领导节点的时候,自己就可以由随从状态变为候选状态。可以让其他人投票选自己为领导,每次投票之后,重置自旋时间。 领导节点 候选节点 通过领导选举,然后通过领导通知,通...原创 2022-01-01 20:26:02 · 1194 阅读 · 0 评论 -
回顾对数据处理的基本操作
一 概述 我们知道对数据的处理包含的操作整体来说是4种,即增删查改,即工作中接触最多的操作——CURD。 对于查找来说,字典的查找是通过键值对的匹配完成的,它可以在O(1)时间复杂度内,实现对数值条件的查找。 在处理数据的时候我们处理数据的过程中具体对数据进行了哪些操作,然后根据分析出来的数据操作,找到合理的数据结构。 代码对数据的处理是代码对输入数据进行计算并得到结果的过程,数据处理操作是找到需要处理的数据,计算结果,然后将结果保存下...原创 2021-11-18 20:19:38 · 654 阅读 · 0 评论 -
如何衡量程序运行的效率——复杂度
一 概述 衡量代码的运行效率是一项工程师具备的非常重要的基本功。二 复杂度的概述 复杂度是衡量代码运行效率的重要度量因素,对于计算机而言,它是通过一个个程序去执行计算任务,也就是对输入数据进行加工处理,并且得到最终结果的过程。 编写代码的核心就是完成计算。 对于同一个计算任务,不同计算方法得到结果的过程复杂程度是不一样的。 例如:需要在一个在线系统中实时处理数据,当系统平均每分钟新增300M的数据量的时候,当我们的...原创 2021-11-17 20:40:37 · 1384 阅读 · 0 评论 -
回顾动态规划中的重叠子问题
一 概述 根据斐波那契数列的递推:F(0) = 0,F(0) = 1,F(n) = F(n-1) + F(n-2) (n≥ 2,n∈ N*) ; 会存在递归重复计算的问题。回顾斐波那契数列_calm_encode的博客-CSDN博客https://blog.csdn.net/calm_encode/article/details/120878805 未完待续......原创 2021-10-21 08:15:56 · 128 阅读 · 0 评论 -
回顾斐波那契数列
一 概述 斐波那契数列(Fibonacci sequence),又称黄金分割数列。该数列是指递归方法定义为:F(0) = 0,F(0) = 1,F(n) = F(n-1) + F(n-2) (n≥ 2,n∈ N*) 的数列。 具体表现形式为:0,1,1,2,3,5,8,13,21,34...二 函数的具体表现形式 int fibonacci(int N) { if (N == 1 || N == 2) return 1; ...原创 2021-10-21 08:06:33 · 174 阅读 · 0 评论 -
回顾散列表
一 概述 散列表是一种非线性的数据结构,通过利用Hash函数将指定的键(key)映射至对应的值(value),从而实现高效的元素查找。 注意点:散列表的key要保证唯一的。 对于Hash函数而言,需要保证低碰撞率,高鲁棒性(健壮性)等,这样才能够满足各类的数据和使用场景。参考资料:图解算法数据结构 - LeetBook - 力扣(LeetCode)全球极客挚爱的技术成长平台 (leetcode-cn.com)https://leetcode-cn.c...原创 2021-10-12 08:22:33 · 91 阅读 · 0 评论 -
回顾jpg/png格式图片的区别
区别1:jpg是有损压缩格式,png是无损压缩格式1、JPG(92年):使用的一种失真压缩标准方法,24 bit真彩色,内容比GIF丰富,不支持动画、不支持透明色。JPEG的压缩方式通常是破坏性资料压缩,意即在压缩过程中图像的品质会遭受到可见的破坏。一张图片多次上传下载后,图片逐渐会失真。优点 JPEG/JFIF是最普遍在万维网(World Wide Web)上被用来储存和传输照片的格式。JPEG在色调及颜色平滑变化的相片或是写实绘画(painting)上可以达到它最佳的效果。2、PNG(96.原创 2021-09-13 12:07:26 · 6479 阅读 · 0 评论 -
学算法常用的OJ
算法图论 数论 计算几何 数据结构 动态规划 贪心打表 排序常用算法书籍组合数学 具体数学 算法图解 算法导论(原书第三版) 算法竞赛进阶指南 (李煜东) 算法竞赛入门经典(第二版)刘汝佳 算法竞赛入门经典训练指南 (刘汝佳) 信息学奥赛一本通 挑战程序设计竞赛(第二版)(此书有多位竞赛圈大佬推荐) 编程珠玑(第二版) 算法(第四版)[Algorithms Fourth Edition]常用OJ CodeForceshttps://www/code.转载 2021-03-15 09:42:34 · 708 阅读 · 3 评论 -
从语言实现十六进制数转换输出十进制数
一 概述当存在无符号十六进制数(出现的字母为小写),通过代码使其转换成十进制数。二 代码实现知识准备:简单十六进制数0~15为:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 。 0~15对应的ASCII表值为:48,49,50,51,52,53,54,55,56,97,98,99,100,101,102 。 'a'到'f'的ASCII码是97到102 。 s[i] >= 97:在ASCII码表中为a及以后的字符 。 s[i] - 87:表示为,如果十六进制数中原创 2020-11-25 19:48:53 · 759 阅读 · 0 评论 -
线性代数的一些重要概念
1. 矩阵A同矩阵B合同⇔矩阵A同矩阵B的正负惯性指数相同。2. 正,负惯性指数分别是指矩阵A和矩阵B中的正负特征值的个数。原创 2020-11-22 12:14:48 · 714 阅读 · 0 评论 -
多项式的求根方法
一 概述函数f(x)=(an)xⁿ +....+ (a4)x⁴ + (a3)x³ + (a2)x² + (a1)x¹ + a0是一个多项式函数,一般情况下直接求根f(x)=0的根不是很方便。所以存在一个试根的技巧。二 多项式函数求根的试根法1. 如果a0 = 0,则f(0) = 0,所以此时0是f(x) = 0的一个根。2. 如果a(n) + a(n-1) + ...+ a2 + a1 + a0 = 0,则f(1) = 0,所以此时1是f(x) = 0的根。3. 如果f(x)的偶次项(.原创 2020-11-15 17:09:09 · 18392 阅读 · 2 评论 -
一元二次方程的简单回顾
一 概述只含有一个未知数(一元),并且未知数项的最高次数为2的整式方程叫做一元二次方程。二 一元二次方程的根1. 判别公式当判别式大于零时,方程有两个不相等的实数根; 当判别式等于零时,方程有两个相等的实数根; 当判别式小于零时,方程无实数根,但又2个共轭复根。2. 韦达定理三 一元二次方程的图像四 一元二次方程的总结我们可以借助上述结论编写一个针对一元二次方程的算法,来替代认工计算。事实上计算机的起初就是用来进行某些复杂的数据运算,后来随着计算机技术的发展原创 2020-11-04 11:19:43 · 438 阅读 · 0 评论 -
双曲线知识的简单回顾
一 概述定义:双曲线为与两个固定点(焦点)的距离差为常数的点的轨迹。二 双曲线的标准方程1、焦点在x轴上时为:2、焦点在y轴上时为: 其中:||PF1|-|PF2||=2a,b²=c²-a²,|F1F2|=2c。三 双曲线的渐进线方程1. 焦点在x轴上时为:2. 焦点在y轴上时为:...原创 2020-11-04 10:57:32 · 979 阅读 · 0 评论 -
函数相关的值与性质
一 三角函数特殊角的函数值二 连续,可导,存在原函数,函数有界之间的关系可导数必然连续。 对于积分函数而言,函数连续表明函数一定存在原函数。 连续表明,某点的函数值与该点函数值相等。 闭区间上的连续函数必然有界,但是有界并不能确定函数连续。 函数的极限具有唯一性,当函数在某一点取得的极限值为±∞时,表明函数在该点极限不存在,即函数在该点发散。...原创 2020-11-01 11:43:19 · 376 阅读 · 0 评论 -
矩阵的运算
一 矩阵的加法二 数与矩阵相乘三 矩阵与矩阵之间的相乘单位矩阵:在矩阵的乘法中,有一种矩阵起着特殊的作用,如同数的乘法中的1,这种矩阵被称为单位矩阵。它是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为1。除此以外全都为0。四 矩阵的转置 ...原创 2020-10-17 19:33:30 · 244 阅读 · 0 评论 -
高等数学基础之极限
一 数列的极限定理一:数列极限的唯一性,即如果数列收敛,那么它的极限唯一。定理二:收敛数列的有界性,即如果数列收敛,那么数列一定有界。二 函数的极限函数极限的性质三 求极限常见的等价式常用的等价无穷小,当x→0的时候⑴ x~sinx~tanx~arcsinx~arctanx~ln(1+x)~e^x-1;⑵(1+x)^a-1~ax,1-cosx ~ (x²)/2,a^x-1~xlna;⑶x-sinx ~x³/6,tanx - x ~ x³/...原创 2020-10-15 20:40:18 · 6570 阅读 · 0 评论 -
微分中值定理与导数的应用
一 罗尔定理罗尔定理中的f(a) = f(b)这个条件是相当特殊的,它使得罗尔定理的应用受到限制。如果将f(a) = f(b)这个条件取消的后,但仍保留其他两个条件,并相应地改变结论,那么就得到微分学中的拉格朗日中值定理。二 拉格朗日中值定理三 柯西中值定理当存在F(x) = x的时候的时候,F'(x)为1,此时的柯西中值定理就变成了拉格朗日中值定理。...原创 2020-10-12 21:22:30 · 251 阅读 · 0 评论 -
函数的几种性质
一 函数的有界性 有界函数一定同时存在上下界,即有界⇔ 存在上下界。二 函数的单调性 三 函数的奇偶性奇函数图像关于原点对称 偶函数图像关于y轴对称 四 函数的周期性常见的周期函数有sinx,cosx,tanx。其中sinx,cosx均为以2π为周期的周期函数,tanx则是以π为周期的周期函数。...原创 2020-10-12 21:04:37 · 2962 阅读 · 0 评论 -
数学中常用公式符号
代数符号比较:≥ 大于等于≤ 小于等于≈ 约等于≠ 不等于≌ 约等于∽ 相似>> 远大于运算符号:≡ 恒等于或同余,全等! 阶乘lim 极限∮ 取线积分×* ÷/ 乘除分数/√ 开根号± 正负号∫ ∬求导数推理符号:∵ 因为 ∴ 所以← ↑ → ↓ ↖ ↗ ↘ ↙↔↕等价号⇔推出号⇒下标号:₁₂₃₄幂函数:x¹ x² x³ x⁴ xⁿ∞ 无穷大π 圆周率...原创 2020-10-12 19:58:16 · 9119 阅读 · 0 评论 -
高数中的不定积分
一 概述求导是求某个函数的导数,不定积分的目是求导函数的原函数。二 原函数原函数的概念对于函数而言,可导必然连续,连续未必定可导。原函数的存在性定理若函数f(x)存在原函数则存在无数个原函数,且任意两个原函数相差一个常数。三 基本积分表补充部分:个人对不定积分的学习,内容不知如此,后续总结补充。参考资料:高等数学第七版...原创 2020-10-10 23:05:16 · 1629 阅读 · 0 评论 -
函数的微分
一 概述二 基本初等函数的微分公式三 函数和,差,积,商的微分法则四 复合函数的微分法则参考资料:高等数学上册 函数的微分原创 2020-10-10 22:13:53 · 736 阅读 · 0 评论 -
高数重要知识点杂谈
一 两个重要的极限重要的极限一:重要的极限二:二 无穷大和无穷小无穷小在自变量的同一变化过程x->x。(或x->00)中,函数f(x)具有极限A的充分必要条件时f(x) = A+a,其中a是无穷小。无穷大无穷小与无穷大之间的关系三 极限的运算法则两个无穷小的和是无穷小。 有界函数与无穷小的乘积是无穷小。 常数与无穷小的乘积是无穷小。 有限个无穷小的乘积是无穷小。...原创 2020-10-10 21:45:26 · 280 阅读 · 0 评论 -
初等函数简述
一 概述初等数学中讲过的为以下几类:幂函数,指数函数,对数函数,三角函数,反三角函数,这五类函数统称为基本初等函数。由常数和基本初等函数经过有限次的四则运算和有限次的函数复合步骤所构成并可用一个式子表示的函数,称为初等函数。二 幂函数y=x^α(α为有理数且为常数)的函数,即以底数为自变量,幂为因变量,指数为常数的函数称为幂函数。例如函数y=x^0、y=x^1、y=x^2、y=x^(-1)(注:y=x^(-1)=1/x、y=x^0时x≠0)等都是幂函数。 ...原创 2020-10-10 20:38:38 · 3579 阅读 · 2 评论 -
个人对计算机知识的理解
冯诺依曼体系结构:冯·诺伊曼于1946年提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。 冯·诺依曼体系结构冯·诺伊曼理论的要点是:计算机的数制采用二进制;计算机应该按照程序顺序执行。图灵机:图灵机的理论模型,奠定了人工智能的基础。计算机对程序描述的著名公式为:程序 = 算法 + 数据结构。个人对算法的理解可以使用一个公式:算法 = 数学模型+ 设计思想。早期的计算机主要通过数值计算,此时我们需要从具体的内容抽象出数学模型,然后根据具体的数学模型采用.原创 2020-10-10 17:24:43 · 449 阅读 · 0 评论 -
基本求导法则与求导公式
一 概述原创 2020-10-10 18:12:40 · 866 阅读 · 0 评论 -
让我对算法有重新认识的文章
一 概述Reddit有篇帖子介绍了算法对我们现在生活的重要性,以及哪些算法对现代文明所做贡献最大。这个表单并不完整,很多与我们密切相关的算法都没有提到,如机器学习和矩阵乘法,欢迎你继续补充。如果对算法有所了解,读这篇文章时你可能会问“作者知道算法为何物吗?”,或是“Facebook的‘信息流’(News Feed)算是一种算法吗?”,如果“信息流”是算法,那就可以把所有事物都归结为一种算法。才疏学浅,结合那篇帖子,接下来我试着解释一下算法是什么,又是哪些算法正在主导我们的世界。二 什么是算法.转载 2020-12-09 19:53:15 · 180 阅读 · 0 评论 -
回顾最小生成树
一 概述生成树:连通图包含全部顶点的一个极小连通子图。如图所示,第二和第三个图为第一个图的两个生成树,当在第一个生成树中增加边(A,D)时,使其出现一个环状结构,故其不再是生成树。当在二个生成树中减少边(C,D)时,使其不再是连通图,故其不再是生成树。二 最小生成树当一个图中各边上都存在权值时,最小生成树为生成树中权值之和最小的生成树。如上图所示,图三为权值之和最小的生成树,故其为图一的最小生成树。最小生成树:对于带权无向连通图G = (V,E),G的所有生成原创 2020-12-09 19:37:41 · 319 阅读 · 0 评论 -
图的遍历同连通性的关系
一 概述连通:在无向图中,如果从顶点v到顶点w有路径,则称顶点v和顶点w为连通的。二 无向图遍历与连通性问题实例分析在无向图中,在任意顶点出发一次遍历(通过BFS或DFS),若能访问到全部顶点则说明该无向图是连通的,图为强连通图。在无向图中,调用遍历函数(BFS或者DFS)的次数为该图连通分量的个数。三 有向图遍历与连通性问题实例分析从顶点B开始通过DFS算法可以访问到途中的所有顶点。但是并不表示该图为强连通图。此时从某一顶点可以访问到图中所有的顶点时,只是表示从该顶点到原创 2020-12-09 17:48:32 · 544 阅读 · 0 评论 -
回顾深度优先生成树
一 概述在深度遍历的过程中,我们可以得到一棵遍历树,称为深度优先生成树(生成森林)。二 深度优先生成树(生成森林)实例分析如图:我们从顶点A出发访问该图; 我们按深度优先搜索算法继续访问了顶点C,D,E。 然后访问顶点B,得到的深度优先生成森林如图:注:邻接矩阵法的深度优先生成树唯一,邻接表法的不唯一。因为邻接表法在生成边表时,根据输入顺序的不同,它生成的边表也会不同。所以邻接表法的深度优先生成树不唯一,同理于广度优先生成树。...原创 2020-12-09 17:26:52 · 9635 阅读 · 1 评论 -
回顾哈夫曼树的基本概念
一 概述哈夫曼树又称最优树,是一类带权路径长度最短的树,在实际中有广泛的用途。哈夫曼树的定义,涉及路径,路径长度,权等概念。二 哈夫曼树相关概念1. 路径:从树中某一结点到另一个结点之间的分支构成这两个结点之间的路径。2. 路径长度:路径上分支数目称作为路径长度之和。3. 树的路径长度:从树根到每个结点的路径长度之和4. 权:赋予某个实体的量,是对实体的某个或某些属性的数值化描述。在数据结构中,实体有结点(元素)和边(关系)两大类,所以对应有结点权和边权。结点权或者边权具体代表什么意原创 2020-12-07 18:36:23 · 1522 阅读 · 2 评论 -
回顾广度优先生成树
一 概述对于连通图,我们在广度遍历的过程中,可以得到一棵遍历树,称为广度优先生成树。对于非连通图,我们在广度遍历的过程中,得到的都是广度优先生成森林。二 广度优先生成树实例由图可知,左边为图,右边为该图的广度优先生成树。根据广度优先算法中遍历的都是与初始结点较近的结点,所以广度优先生成树中4-5的边不存在了。注意:邻接矩阵法的广度优先生成树唯一,邻接表法的广度优先生成树不唯一。一个图的邻接矩阵表示法的邻接矩阵是唯一的,所以在实现算法的过程中实现遍历的过程也是唯一的。而邻接原创 2020-11-30 22:10:02 · 4799 阅读 · 0 评论 -
无权图单源最短路径问题
一 概述无权图:即表示图中的边是没有权重的,或者是所有的边权重为同一个正数。单源:以一个顶点为初始顶点出发,求解该顶点到其他顶点的最短路径。最短路径:定义从顶点u到顶点v的最短路径d(u,v)为从u到v的任何路径中边数最少的路径。如果从某一顶点u到顶点v没有通路时,则d(u,v) =∞。二 无权图单源最短路径问题求解过程先看一个问题:找到从顶点1到顶点5的路径直观的可以发现图中的路径有1-2-5和1-2-4-5两条路径。其中最短路径为1-2-5。根据广度优先算法中遍历的都是.原创 2020-11-30 21:56:29 · 896 阅读 · 0 评论 -
树的存储结构回顾
一 概述树既可以采用顺序存储,同时可以采用链式存储,无论是那种存储结构,我们都需要通过某种方法对其进行描述。我们主要会右三种表示方法:双亲表示法,孩子表示法,孩子兄弟表示法。二 双亲表示法双亲表示法通过采用一组连续的存储空间来存储每个结点,同时再每个结点中增设一个伪指针,指示双亲结点在数组中的位置,故通过该伪指针我们描述了结点之间的逻辑关系。根结点的下标为0,其伪指针域为-1。双亲表示法的实现#define MAX_TREE_SIZE 100//该结构体表示每个结点,其中包括数据部分原创 2020-11-30 18:56:41 · 547 阅读 · 0 评论 -
线索二叉树的回顾
一 概述常见的二叉树中只存在根与子树之间的关系,为了了解二叉树中前继后继的关系,我们就需要了解线索二叉树的知识。二 线索二叉树线索二叉树可以加快寻找各个结点前继结点与后继结点速度。上图为一个二叉链表结构,即二叉树的链式存储结构,可以发现存在着空指针,当结点数为n时,空指针的数目为n+1个。我们通过线索化的过程规定为:若某结点无左子树,则将其左指针指向其前驱结点;若某结点无右子树,则将右指针指向其后继结点。上图根据先序遍历的顺序为:1,2,4,5,3,6根据线索化,可知,当原创 2020-11-30 15:26:43 · 161 阅读 · 0 评论 -
二叉树层序遍历的回顾
一 概述二叉树层序遍历的过程需要借助队列来实现。二 借助队列实现二叉树层序遍历的算法思想初始将根入队并访问根结点; 若有左子树,则将左子树的根入队; 若有右子树,则将右子树的根入队; 然后出队,访问该结点; 反复该过程知道队列为空为止。如图:根据算法步骤队列的元素变化情况如下:首先将根结点1入队:队首 1 队尾 接着将根结点1出队:队首 队尾 ...原创 2020-11-30 12:04:44 · 126 阅读 · 0 评论 -
二叉树的非递归遍历算法访问
一 概述二叉树的非递归遍历算法需要借助栈实现。二 利用二叉树的中序遍历顺序分析非递归算法思想二叉树的中序遍历顺序为:先遍历左子树,后根结点,最后遍历右子树。初始时一次扫描根结点的所有左侧结点并将它们一一进栈。 出栈一个结点,访问它; 扫描该结点的右孩子结点并将其进栈。 依次扫描右孩子结点的所有左侧结点并一一进栈; 反复此过程直至栈空即表示完成该二叉树的遍历。如图:根据步骤1的操作,我们需要将二叉树的1,2,3,7结点依次压入栈中。栈顶 7 4 2原创 2020-11-30 11:35:34 · 427 阅读 · 0 评论