摘要: 数据结构与算法之堆 >原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ cnblog个人博客不定期转载 堆的结构 同二叉查找树类似, 堆也是一种特殊的二叉树: 堆是一颗完全二叉树; 堆的孩子结点都小于或者大于父结点; 所以, 堆可以像一颗完全二叉树一样, 很自然地 阅读全文
posted @ 2021-05-14 09:44 caibingcheng 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 数据结构与算法之2-3-4树 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ CNBLOG个人博客不定期转载 平衡树 对于一个普通的二叉查找树, 我们可以发现一个问题, 存在一定的可能性, 一般的二叉查找树会退化成一般的链表. 上图还没有完全退化, 但是如果查找 阅读全文
posted @ 2021-03-17 10:15 caibingcheng 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 数据结构与算法之二叉查找树 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ CNBLOG个人博客不定期转载 什么是二叉查找树 对一般容器的查找, 我们可以按顺序遍历, 找到符合要求的元素就返回; 对于元素是有序的容器, 可以使用二分查找等方法查找, 减少操作的时 阅读全文
posted @ 2021-03-11 09:33 caibingcheng 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 数据结构与算法之二叉树的遍历 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ cnblog个人博客不定期转载 遍历二叉树的作用 基于二叉树的结构, 衍生出了二叉查找树/平衡二叉查找树/堆等等结构或算法(这些之后会讲), 学会如何遍历一颗二叉树是学习此类"派生二叉 阅读全文
posted @ 2021-03-03 15:12 caibingcheng 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 数据结构与算法之二叉树 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ CSDN个人博客不定期转载 什么是二叉树 二叉树的知识点, 需要有链表的基础知识, 一般二叉树的结构如图示: 二叉树是一种树状结构. 所谓二叉, 就是一个节点最多可以延伸出两个子节点. 对于 阅读全文
posted @ 2021-02-22 09:36 caibingcheng 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 数据结构与算法之单调栈 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ cnblog个人博客不定期转载 单调栈 顾名思义, 单调栈就是其元素单调的栈, 满足两个特性: 是栈 栈元素单调递减(<)或者单调递增(>) 当然, 关于第二点也可以是单调不递减(>=)或者 阅读全文
posted @ 2021-02-03 09:26 caibingcheng 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 数据结构与算法之栈 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ cnblog个人博客不定期转载 什么是栈 栈是一种数据结构, 满足先入后出. 一般栈支持以下几个操作: push(n); //数据入栈 a.pop(); //数据出栈 a.top(); //获取 阅读全文
posted @ 2021-02-01 11:23 caibingcheng 阅读(79) 评论(0) 推荐(0) 编辑
摘要: C里面的变长参数 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ cnblog个人博客不定期转载 stdarg.h 这里用到的是stdarg.h这个库, 可以在C语言里面实现可变长参数. 当然C会简单得多, C11之后的模板原生支持可变长参数. 几个函数va_l 阅读全文
posted @ 2021-01-28 09:36 caibingcheng 阅读(258) 评论(0) 推荐(0) 编辑
摘要: C++模板问题之多出的static 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ cnblog个人博客不定期转载 问题 先看以下代码 #include <iostream> using namespace std; using uint32 = unsigne 阅读全文
posted @ 2021-01-25 19:47 caibingcheng 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 通过返回值'重载'函数 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ cnblog个人博客不定期转载 以下的代码片段涉及到了不少的模板函数, 可以自行去官网查询. 前言 从实际问题出发, 期望开发一个函数, 可以计算另外一个函数的耗时; 比如测试下面函数的耗时 阅读全文
posted @ 2021-01-21 11:33 caibingcheng 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 小APP代码小坑flask jinja模板显示图片flask ajax操作部署TOC 小APP代码 import os from flask import Flask, flash, request, redirect, url_for, render_template, send_from_directory, jsonify, json from werkzeug.utils import... 阅读全文
posted @ 2020-04-28 20:49 caibingcheng 阅读(155) 评论(0) 推荐(0) 编辑
摘要: stdarg.h内存对齐va_listva_startva_argva_end用例TOC stdarg.h va_list、va_start、va_arg、va_end,定义在stdarg.h 先需要理解C/C++函数入参的顺序,对一个函数,入参按照从右往左的顺序。 void test(char *para1,char *param2,char *param3, char *param4)... 阅读全文
posted @ 2020-04-28 20:48 caibingcheng 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 面向对象TOC 面向对象 成员变量 在做一个Python项目的时候,使用了Python class。遇到的问题是,在服务器运行的过程中,发现Python class中的成员变量越来越臃肿。 经调查,发现是,Python的类实例只有一个?比如说: class A a = A() b = A() 以上,a、b实际上是使用的同一个实例,比如说A中有一个list,在a的时候往lis... 阅读全文
posted @ 2020-04-28 20:47 caibingcheng 阅读(103) 评论(0) 推荐(0) 编辑
摘要: rmm 一个替换rm 的工具 项目地址:https://gitee.com/jerry323/rmm 欢迎pull request 起因: 在执行rm命令的时候,有时会因为动作太快,开不及思考,而删除一些重要的文件,此时再找回就很难了。 rmm rmm是一个用于替换rm命令的命令行工具。 将rm命令替换为mv命令,会在$HOME路径下新建一个.trash目录,将执行rmm命令后会将删... 阅读全文
posted @ 2020-04-18 20:31 caibingcheng 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 工厂模式1. 定义公共接口2. 接口的具体实现3. 创建工厂,基于给定信息生成实体类对象4.调用备注抽象工厂模式单例模式1. 饿汉模式备注建造者模式1、创建产品共有的属性接口2、创建不同品类的产品生产工厂3、设计产品4、设计产品组合方式5、测试备注享元模式适配器模式1、提供同一的对外接口和适配接口2 阅读全文
posted @ 2020-04-18 20:20 caibingcheng 阅读(175) 评论(0) 推荐(0) 编辑
摘要: git目录objectslogsTOC git目录 新建一个git项目,查看.git目录 .git/ ├── branches ├── config ├── description ├── HEAD ├── hooks │ ├── applypatch-msg.sample │ ├── commit-msg.sample │ ├── fsmonitor-watchman.samp... 阅读全文
posted @ 2020-04-18 20:18 caibingcheng 阅读(3063) 评论(0) 推荐(0) 编辑
摘要: ValgrindTOC Valgrind Valgrind包括如下一些工具: 用法: 编译最好带上-g -O0,用于生成debug版本和取消编译优化。 valgrind --tool=memcheck --leak-check=full ./test Memcheck。这是valgrind应用最广泛的工具,一个重量级的内存检查器,能够发现开发中绝大多数内存错误使用情况,比如:使用未初... 阅读全文
posted @ 2020-04-18 20:15 caibingcheng 阅读(231) 评论(0) 推荐(0) 编辑
摘要: docker安装下载镜像和运行、删除更多命令Dockerfiledocker应用场景离线安装与离线分享镜像TOC docker安装 wget -qO- https://get.docker.com/ | sh # 或者 apt install docker.io docker --version docker system info 如果遇到permission的问题,则将当前用户添加到用户... 阅读全文
posted @ 2020-04-18 20:12 caibingcheng 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 一些用法:1、{}的用法:2、for的新用法、auto类型的用法:3、返回类型后置:4、使用auto明确模板函数的输出类型:5、类的构造函数可以被其他类调用初始化:6、nullptr与NULL:7、更安全的枚举类型,可以见枚举值隐藏:关键词:1、inline关键词:2、static关键词:全局static局部staticstatic函数static成员变量static成员函数3、assert:4、... 阅读全文
posted @ 2020-04-18 20:02 caibingcheng 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 基于RC4加密算法的图像加密 某课程的一个大作业内容,对图像加密。项目地址:https://gitee.com/jerry323/RC4_picture 这里使用的是RC4(流、对称)加密算法,算法流程网上可以找到很多例子,这里就不做介绍了。主要想法是提取图像每个通道的数据,直接作为一个字节流输入加 阅读全文
posted @ 2019-01-26 20:30 caibingcheng 阅读(601) 评论(0) 推荐(0) 编辑
摘要: 天气提醒邮件服务器(python + scrapy + yagmail) 项目地址: https://gitee.com/jerry323/weatherReporter 前段时间因为xxx上班有时候忘记带伞,就写了这个通过发送邮件提醒天气的东西。其实目前还是有点小问题,暂时也还没花精力来维护(够用 阅读全文
posted @ 2019-01-25 21:19 caibingcheng 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 高精度减法 C++ 仿照竖式减法,先对其,再对应位相减。 算法处理时,先比较大小,用大的减小的,对应位再比较大小,用于作为借位符。 c++ include include define MAXSIZE 20 define MAXOUTSIZE MAXSIZE + 2 using namespace 阅读全文
posted @ 2018-09-17 20:51 caibingcheng 阅读(1423) 评论(0) 推荐(0) 编辑
摘要: 高精度乘法 C++ 模仿竖式乘法,在第一步计算的时候将进位保留,第一步计算完再处理进位。(见代码注释) 若要处理正负情况,可在数据输入后加以判断,处理比较简单。 小数计算也可参照该方法,不过对齐方式需要改变,或者改成二段计算。 c++ include include define MAXSIZE 2 阅读全文
posted @ 2018-09-17 20:19 caibingcheng 阅读(3737) 评论(0) 推荐(0) 编辑
摘要: 高精度加法 C++ 仿照竖式加法,在第一步计算的时候将进位保留,第一步计算完再处理进位。(见代码注释) 和乘法是类似的。 c++ include include define MAXSIZE 20 define MAXOUTSIZE MAXSIZE + 2 using namespace std; 阅读全文
posted @ 2018-09-17 20:18 caibingcheng 阅读(674) 评论(0) 推荐(0) 编辑
摘要: C++ 日志记录模块 该模块从实际项目中产生,通过extern声明的方式,可在代码不同模块中生成日志,日志文件名称为随机码加用户指定名称,采用随机码是为了避免日志文件可能被覆盖的问题。 愿意的话你也能自己构建个人的日志记录模块,本次分享的模块实现方法比较简单,可能有些地方没考虑清楚。 源码: c++ 阅读全文
posted @ 2018-08-10 08:29 caibingcheng 阅读(1196) 评论(0) 推荐(0) 编辑
摘要: c++时间计算模块 可用于计算代码运行耗时、计算代码运行时间线(比如处理与运行时间相关函数)。 该模块从实际项目中产生,使用方式仁者见仁智者见智,设计思想可供参考。 源码: CalTimeLine用于计算时间线,如果需要实现的功能与已运行时间有关,则可以使用该部分。 阅读全文
posted @ 2018-08-08 17:01 caibingcheng 阅读(806) 评论(0) 推荐(0) 编辑
摘要: cbuild 一个创建和管理C++项目的工具 介绍: 这是个人开发的一个管理C++项目的工具,用shell脚本编写。 可能会不定期更新,也 欢迎大家一起完善 。 当前开发版本0.5。各版本功能如下: version 0.0 初始版本,具备创建、删除、编译、运行项目基本功能 version 0.1 在 阅读全文
posted @ 2018-08-07 09:49 caibingcheng 阅读(1063) 评论(0) 推荐(0) 编辑
摘要: tensorflow 曲线拟合 Python代码: python import numpy as np import tensorflow as tf import matplotlib.pyplot as plt from tensorflow.examples.tutorials.mnist i 阅读全文
posted @ 2018-08-06 16:41 caibingcheng 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 基本矩阵与本质矩阵 基本矩阵与本质矩阵的数学推导: 假设空间中一点$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是 阅读全文
posted @ 2018-08-06 11:54 caibingcheng 阅读(844) 评论(0) 推荐(0) 编辑
摘要: 对含小目标的灰度图二值化方法 ​在实际经历中,对原始图像经过一定操作之后得到了包含目标的灰度图像,其中,目标在图像中属于比较亮的区域,背景则是相对较暗的区域,现在需要将目标提取出来。 ​最先想到的方法是将灰度图像二值化,并且希望目标区域二值图中为1(255)的集合,背景则是0的集合。一般想法可能直接 阅读全文
posted @ 2018-07-04 09:19 caibingcheng 阅读(299) 评论(0) 推荐(0) 编辑
摘要: VSCode中C/C++库文件的配置 之前一直在是用sublime做主要编辑器,现在主要使用VSCode,毕竟大厂制作,从目前的使用情况来看,我更喜欢使用VSCode编辑器。 有时候会用VScode来组件C/C++工程,并且用到了一些外部依赖的库文件,比如OpenCV。此时希望VSCode的代码提示 阅读全文
posted @ 2018-06-12 20:09 caibingcheng 阅读(35386) 评论(1) 推荐(4) 编辑
摘要: 数据衰减的一些方法和比较 在计算机视觉实时应用中,有时候需要向云台发送一些数据,比如说角度,使之运动到相应的角度。但是考虑到有时候如果直接发送目标的相对角度,可能 角度比较大,从而导致云台运动过于剧烈 ,此时考虑将发送的数据做一个衰减。 一般直接想到对发送的数据做 线性衰减 ,比如说发送数据yaw: 阅读全文
posted @ 2018-06-10 15:22 caibingcheng 阅读(790) 评论(0) 推荐(0) 编辑
摘要: (《视觉SLAM十四讲》第三讲习题7)设有小萝卜一号和二号在世界坐标系中。一号位姿q1 = [0.35, 0.2, 0.3, 0.1],t1=[0.3, 0.1, 0.1]。二号位姿q2=[ 0.5, 0.4, 0.1, 0.2], t2=[ 0.1, 0.5, 0.3].某点在一号坐标系下坐标为p 阅读全文
posted @ 2018-05-27 20:34 caibingcheng 阅读(9408) 评论(0) 推荐(0) 编辑
摘要: 在Ubuntu下使用opencv处理视频流时, 由于相机帧率跟不上(相机模块在另外一个线程运行,且帧率太低),导致算法会处理一些相同的图像 ,从而返回相同的结果,如果将结果返回给伺服机构,则可能导致伺服机构奔溃。 想到三种解决方法: 1. 用高帧率的相机,但是由于经费问题,此方案暂缓执行; 2. 判 阅读全文
posted @ 2018-05-05 14:16 caibingcheng 阅读(680) 评论(0) 推荐(0) 编辑
摘要: 对于一段包含cd 命令的shell脚本(test.sh): 运行: 脚本运行时无法在上级目录建立test文件 此时用 即可 阅读全文
posted @ 2018-03-25 16:49 caibingcheng 阅读(4220) 评论(2) 推荐(0) 编辑
摘要: 突然想写一份C++教程,并且此教程会尽量使用通俗语言来描述,进入正题! 如果你从来没有接触过编程语言,希望我的教程能够帮助你! 一、代码示例 ​ 当然我希望你暂时不要纠结我在写什么,把代码贴在前面是想给你看看,它会是什么样子的;如果 一定要取个名字的话,你可以称这份代码为 “著名的helloworl 阅读全文
posted @ 2018-03-25 15:14 caibingcheng 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 今天突然想到了一个问题: 让你立即把堆排、快排等等排序算法写出来会不会,并且不能犯逻辑错误? 我说:不会,至少需要思考一下,并且可能还需要时间调试。 之前总是觉得,不就是排序算法吗?有什么大不了的?网上、书上一查一大堆。但是换个角度想:1+1 = ? 你会不会? 排序算法应是作为最基本的工具一样,是 阅读全文
posted @ 2018-03-24 18:22 caibingcheng 阅读(274) 评论(0) 推荐(1) 编辑
摘要: 最近写的东西用到了数学库中的acos函数,但是代码在运行的时候有时候会出莫名其妙的错误,比如返回值是个特别大的数。 最后在debug 的时候发现acos返回的数据很奇怪,但是传入的参数明明没有问题,可以保证是( 1,1)。 回想起,double类型的末尾数据是不确定的,比如当double类型数据al 阅读全文
posted @ 2018-03-24 18:13 caibingcheng 阅读(4747) 评论(0) 推荐(1) 编辑