随笔分类 - 算法
摘要:数据结构与算法之堆 >原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ cnblog个人博客不定期转载 堆的结构 同二叉查找树类似, 堆也是一种特殊的二叉树: 堆是一颗完全二叉树; 堆的孩子结点都小于或者大于父结点; 所以, 堆可以像一颗完全二叉树一样, 很自然地
阅读全文
摘要:数据结构与算法之2-3-4树 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ CNBLOG个人博客不定期转载 平衡树 对于一个普通的二叉查找树, 我们可以发现一个问题, 存在一定的可能性, 一般的二叉查找树会退化成一般的链表. 上图还没有完全退化, 但是如果查找
阅读全文
摘要:数据结构与算法之二叉查找树 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ CNBLOG个人博客不定期转载 什么是二叉查找树 对一般容器的查找, 我们可以按顺序遍历, 找到符合要求的元素就返回; 对于元素是有序的容器, 可以使用二分查找等方法查找, 减少操作的时
阅读全文
摘要:数据结构与算法之二叉树的遍历 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ cnblog个人博客不定期转载 遍历二叉树的作用 基于二叉树的结构, 衍生出了二叉查找树/平衡二叉查找树/堆等等结构或算法(这些之后会讲), 学会如何遍历一颗二叉树是学习此类"派生二叉
阅读全文
摘要:数据结构与算法之二叉树 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ CSDN个人博客不定期转载 什么是二叉树 二叉树的知识点, 需要有链表的基础知识, 一般二叉树的结构如图示: 二叉树是一种树状结构. 所谓二叉, 就是一个节点最多可以延伸出两个子节点. 对于
阅读全文
摘要:数据结构与算法之单调栈 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ cnblog个人博客不定期转载 单调栈 顾名思义, 单调栈就是其元素单调的栈, 满足两个特性: 是栈 栈元素单调递减(<)或者单调递增(>) 当然, 关于第二点也可以是单调不递减(>=)或者
阅读全文
摘要:数据结构与算法之栈 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ cnblog个人博客不定期转载 什么是栈 栈是一种数据结构, 满足先入后出. 一般栈支持以下几个操作: push(n); //数据入栈 a.pop(); //数据出栈 a.top(); //获取
阅读全文
摘要:高精度减法 C++ 仿照竖式减法,先对其,再对应位相减。 算法处理时,先比较大小,用大的减小的,对应位再比较大小,用于作为借位符。 c++ include include define MAXSIZE 20 define MAXOUTSIZE MAXSIZE + 2 using namespace
阅读全文
摘要:高精度乘法 C++ 模仿竖式乘法,在第一步计算的时候将进位保留,第一步计算完再处理进位。(见代码注释) 若要处理正负情况,可在数据输入后加以判断,处理比较简单。 小数计算也可参照该方法,不过对齐方式需要改变,或者改成二段计算。 c++ include include define MAXSIZE 2
阅读全文
摘要:高精度加法 C++ 仿照竖式加法,在第一步计算的时候将进位保留,第一步计算完再处理进位。(见代码注释) 和乘法是类似的。 c++ include include define MAXSIZE 20 define MAXOUTSIZE MAXSIZE + 2 using namespace std;
阅读全文
摘要:C++ 日志记录模块 该模块从实际项目中产生,通过extern声明的方式,可在代码不同模块中生成日志,日志文件名称为随机码加用户指定名称,采用随机码是为了避免日志文件可能被覆盖的问题。 愿意的话你也能自己构建个人的日志记录模块,本次分享的模块实现方法比较简单,可能有些地方没考虑清楚。 源码: c++
阅读全文
摘要:c++时间计算模块 可用于计算代码运行耗时、计算代码运行时间线(比如处理与运行时间相关函数)。 该模块从实际项目中产生,使用方式仁者见仁智者见智,设计思想可供参考。 源码: CalTimeLine用于计算时间线,如果需要实现的功能与已运行时间有关,则可以使用该部分。
阅读全文
摘要:基本矩阵与本质矩阵 基本矩阵与本质矩阵的数学推导: 假设空间中一点$P = [X, Y, Z]^T$。 P在相机A相平面坐标为$P_A = [x_A, y_A, 1]^T$; P在相机B相平面坐标为$P_B = [x_B, y_B, 1]^T$; 相机A与相机B的内参矩阵为$K$,即可以假设A、B是
阅读全文
摘要:对含小目标的灰度图二值化方法 在实际经历中,对原始图像经过一定操作之后得到了包含目标的灰度图像,其中,目标在图像中属于比较亮的区域,背景则是相对较暗的区域,现在需要将目标提取出来。 最先想到的方法是将灰度图像二值化,并且希望目标区域二值图中为1(255)的集合,背景则是0的集合。一般想法可能直接
阅读全文
摘要:数据衰减的一些方法和比较 在计算机视觉实时应用中,有时候需要向云台发送一些数据,比如说角度,使之运动到相应的角度。但是考虑到有时候如果直接发送目标的相对角度,可能 角度比较大,从而导致云台运动过于剧烈 ,此时考虑将发送的数据做一个衰减。 一般直接想到对发送的数据做 线性衰减 ,比如说发送数据yaw:
阅读全文
摘要:在Ubuntu下使用opencv处理视频流时, 由于相机帧率跟不上(相机模块在另外一个线程运行,且帧率太低),导致算法会处理一些相同的图像 ,从而返回相同的结果,如果将结果返回给伺服机构,则可能导致伺服机构奔溃。 想到三种解决方法: 1. 用高帧率的相机,但是由于经费问题,此方案暂缓执行; 2. 判
阅读全文
摘要:今天突然想到了一个问题: 让你立即把堆排、快排等等排序算法写出来会不会,并且不能犯逻辑错误? 我说:不会,至少需要思考一下,并且可能还需要时间调试。 之前总是觉得,不就是排序算法吗?有什么大不了的?网上、书上一查一大堆。但是换个角度想:1+1 = ? 你会不会? 排序算法应是作为最基本的工具一样,是
阅读全文