算法
邓文尧
这个作者很懒,什么都没留下…
展开
-
堆的实现C++ priority_queue
堆的简介1.堆是一种完全二叉树(不是平衡二叉树,也不是二分搜索)。2.堆要求父亲节点大于左右子节点。如图1就是一个最大堆,而图二,图三就不是堆,因为图2不满足第二个条件。图三两个条件均不满足。堆的存储结构由于堆是一颗完全二叉树,所以我们可以通过数组的方式去存储它。假设根节点在数组的0 号位置,依次将节点编号。我们可以发现以下规律对于任意的节点K 如果其存在左右子树则必然存在的关系...原创 2020-05-08 09:14:49 · 488 阅读 · 0 评论 -
判断一个点是否在三角形及多边形的内部
判断一个点是否在三角形及多边形的内部代码思路:如果一个点在一个多边形的内部则依次链接多变形的两点,形成的有向直线,则该点必将都在这些有向直线的一侧,要不然都在左侧,要不然都在右侧。所以就是判断是否在一侧通过isLeft这个函数判断。而这个函数使用的方法就是计算这三个点围成的面积,利用行列式公式,如果在左侧为正数,则自然在右侧就是负数,因为左右相当于行列式做了一次行交换,而这刚好为行列式带来了...原创 2020-03-13 17:45:04 · 388 阅读 · 0 评论 -
LeetCode刷题之路,记录刷题成长------随时维护
前言本博客按照以下顺序逐步的完成,也是一个学习的过程,所以有啥问题可以随时评论。希望和大家一起进步。文章目录前言栈,队列,堆链表贪心递归、回溯、分治二叉树与图二分查找与二叉排序树哈希表与字符串搜索动态规划栈,队列,堆栈,队列,堆的数据结构就不多介绍了,只需要知道栈是先进后出,队列是先进先出。在这里就主要介绍一下堆,其实就是一颗二叉树,还是直接上算法及实现方法吧。1.寻找一个数组中第K大的...原创 2020-03-03 15:16:05 · 337 阅读 · 0 评论 -
深入剖析移动最小二乘,实现曲线拟合 python实现
移动最小二乘顾名思义就是移动着求最小二乘,把区间分段的求最小二乘,分段越小自然效果越好,分段越大,自然效果越差,就是利用微分的思想。数学推导相比于最小二乘,移动最小二乘建立的拟合函数是采用分段拟合以及平滑化。由一个系数向量和一个基函数p(x)构成。我们可以先把一个区间分成若干个局部子区间,每个子区间进行最小二乘的拟合,子区间的函数可以表示为:权函数应该是非负的,并且和距离成反比。...原创 2019-12-18 17:16:09 · 2269 阅读 · 1 评论 -
精确一维搜索,最速下降法,牛顿迭代,共轭梯度法,F-R算法python实现(工程优化方法)
引言对于无约束优化问题,最速下降法,牛顿迭代法,牛顿迭代法,共轭梯度法,F-R算法是工程中比较经典的约束方法,在此用python实现其具体的过程,主要适合刚开始学习这些算法的朋友以及正在学习工程优化的小伙伴,自己亲自把每一步都实现有利于大家的学习。下面会给出每个算法的原理以及每个算法的具体实现过程。大家最好从最速下降法开始了解,后面的三个方法其实都是类似,从代码也能看出来最速下降法按照上述...原创 2019-06-07 10:29:32 · 5614 阅读 · 3 评论 -
N阶魔法阵的填充,C++实现。
n阶魔方阵的生成描述:给定一个奇数N,生成1-N^2的数字填充到N*N的方格中,使得每一行,每一列,每个对角线的和相等。解题思路:1.首先将第一个填到第一行的中间。2.将指针向斜上移动,即行减一和列加一(在此需要进行判断,如果说超过索引需要重置,例如行减一小于0,则使cow=n-1.使得其移动到最后一行,列加一超过n-1则使其为col=0)3.如果移动指针后对应的空格已经有数,则将指针先...原创 2019-06-27 20:57:58 · 1497 阅读 · 0 评论 -
基于Opencv的平面拟合 C++实现。
最小二乘平面拟合。假设有n多个点,我们需要对这n多个点进行平面拟合,我们会考虑采用最小二乘法去拟合这个平面。下面我们介绍以下最小二乘拟合平面的原理:从推导过程分析,我们只需要计算出所有点的系数矩阵,然后等式同时左乘系数矩阵的逆,我们便能很容易的计算出a,b,cC++实现:实现思路:(此处随机以一个已知平面生成了一个平面点集)1.首先初始化一个系数矩阵和结果矩阵。2.判断系数矩阵是否为...原创 2019-07-09 18:10:43 · 8322 阅读 · 8 评论 -
基于DBSCAN算法的椭圆或者圆中心点的检测,opencv+sklearn
DBSCAN+椭圆拟合首先,这篇文章使用的方法,已经有论文出版,如果需要使用,请注意版权的保护,论文名为Binocular Vision System Integrated with Transcranial Magnetic Stimulation Automatic Therapeutic Apparatus。优点:1.计算精度高2.算法原理简单,缺点:1.计算复杂度较高,实时性不...原创 2019-09-23 09:45:45 · 2803 阅读 · 3 评论