![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
snowdroptulip
菜鸟
展开
-
十大经典排序算法(动图演示)
感谢原文作者:https://www.cnblogs.com/onepixel/articles/7674659.html本文基本框架、文字、图片基本主要来自原文,原中是用java实现的,这里我把代码全部用python做了实现,内容也做了一些补充。0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的原创 2020-10-14 00:57:33 · 1091 阅读 · 0 评论 -
完全二叉树的深度
一个有nnn个节点的完全二叉树的深度kkk如何计算?以下是计算步骤。当树深k=1k=1k=1时,n=1n=1n=1当树深k=2k=2k=2时,n=3n=3n=3当树深k=3k=3k=3时,n=7n=7n=7所以节点个树n和树深k的关系为:2k−1=n2^k-1=n2k−1=n所以树深:k=log2(n+1)k=log_2(n+1)k=log2(n+1)...原创 2020-09-17 19:32:17 · 4893 阅读 · 1 评论 -
二分查找法时间复杂度计算
假设序列里有nnn个元素第一次二分后,需要继续在n2\frac{n}{2}2n个元素中进行查找第二次二分后,需要继续在n22\frac{n}{2^2}22n个元素中进行查找最坏的情况下,只剩下一个元素,也就是继续在n2t\frac{n}{2^t}2tn个元素中进行查找所以ttt是查找的次数,我们使得n2t=1\frac{n}{2^t}=12tn=12t=n2^t=n2t=nt=log2(n)t=log_2(n)t=log2(n)所以时间复杂度为O(log2n)O(log_2n.原创 2020-09-17 19:03:11 · 3390 阅读 · 1 评论 -
数学——欧几里得算法和扩展欧几里得算法
欧几里得算法欧几里德算法是用来求两个正整数最大公约数的算法。古希腊数学家欧几里德在其著作《The Elements》中最早描述了这种算法,所以被命名为欧几里德算法。假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里德算法,是这样进行的:1997 ÷\div÷ 615 = 3 (余 152)615 ÷\div÷ 152 = 4(余7)152 ÷\div÷ 7 = 21(余5)7 ÷\div÷ 5 = 1 (余2)5 ÷\div÷ 2 = 2 (余1)2 ÷\div÷ 1 = 2原创 2020-05-27 20:49:03 · 4600 阅读 · 1 评论 -
优化算法(一):牛顿法与拟牛顿法
机器学习算法中经常碰到非线性优化问题,如 Sparse Filtering 算法,其主要工作在于求解一个非线性极小化问题。在具体实现中,大多调用的是成熟的软件包做支撑,其中最常用的一个算法是 L-BFGS。为了解这个算法的数学机理,这几天做了一些调研,现把学习过程中理解的一些东西整理出来。拟牛顿法(Quasi-Newton Methods)是求解非线性优化问题最有效的方法之一,在20世纪50年...转载 2020-04-27 11:53:01 · 1478 阅读 · 0 评论 -
如何形象的理解泰勒展开
作者:「已注销」链接:https://www.zhihu.com/question/25627482/answer/313088784来源:知乎今天,我要讲讲我和苍井空的故事。FBI Warning:未成年人请在家长陪同下观看。德艺双馨的苍老师是我的启蒙老师。初入大学,暂时摆脱高考的巨大压力后,终于可以放飞自我。在那个草长马发情的年代,无数个月光如水的燥热夜晚,苍老师的课件一次次给我以直逼心...转载 2020-04-21 13:33:00 · 873 阅读 · 2 评论 -
约束规划——拉格朗日乘数法
拉格朗日乘数法拉格朗日乘数法的基本思想拉格朗日乘数法(Lagrange Multiplier Method)是一种优化算法,拉格朗日乘子法主要用于解决约束优化问题,它的基本思想就是通过引入拉格朗日乘子来将含有n个变量和k个约束条件的约束优化问题转化为含有(n+k)个变量的无约束优化问题。拉格朗日乘子背后的数学意义是其为约束方程梯度线性组合中每个向量的系数。如何将一个含有n个变量和k个约束条件...原创 2020-04-15 20:12:49 · 7195 阅读 · 0 评论 -
常见加密算法介绍,以及MD5算法、RSA算法详细介绍
来自知乎的介绍:HASH算法不是大学里数据结构课里那个HASH表的算法。这里的HASH算法是密码学的基础,比较常用的有MD5和SHA,最重要的两条性质,就是不可逆和无冲突。所谓不可逆,就是当你知道x的HASH值,无法求出x; 所谓无冲突,就是当你知道x,无法求出一个y, 使x与y的HASH值相同。这两条性质在数学上都是不成立的。因为一个函数必然可逆,且由于HASH函数的值域有限,...原创 2020-03-31 17:02:38 · 2849 阅读 · 1 评论