| by msbeta | No comments

C++多线程编程-揪出高CPU占用的线程

在工程实践中,有很多对性能要求比较苛刻的场景,要求CPU的占用不能超过指定的阈值,以保证系统整体的实时响应。本文主要记录下如何抓出CPU占用高的线程。

假设有如下业务代码:

代码编译:

g++ cpu.cpp -o cpu -pthread -g

1.定位线程

使用[……]

继续阅读

Read More
| by msbeta | No comments

计算机视觉-Camera标定

1、像素坐标系与图像坐标系之间的关系

假设每一个像素在u轴和v轴方向上的物理尺寸为dx和dy

2、图像坐标系到相机坐标系

3、世界坐标系到相机坐标系

于是,从世界坐标系到像素坐标系的转换关系:

4、其他情况

考虑像素坐标系坐标轴不垂直的情况(实[……]

继续阅读

Read More
| by msbeta | 2 comments

计算几何-凸包(Convex Hull)

凸包(Convex Hull)是计算几何中的一个经典常用的算法。它解决的问题在于给定空间一堆离散的点,计算包含所有点的凸多边形。

凸的定义

凸是指图形内任意两点的连线都不经过图形内部。

计算凸包时要考虑一些特殊情况,比如凸包上多点重叠,凸包上多点共线,通常我们会倾向于用最少[……]

继续阅读

Read More
| by msbeta | No comments

数据结构与算法-计算二叉树的深度和最大宽度

在数据结构中,二叉树是一种非常基础的数据结构,无论是在面试中,或者实际应用中,都有非常普遍的用途。

1.数据结构定义:

2.二叉树的深度

二叉树的深度:

根结点所在的层数为1,根结点的孩子结点所在的层数为2,以此类推,深度是指所有结点中最深的结点所在的层数。

3.求[……]

继续阅读

Read More
| by msbeta | No comments

数据结构与算法-计算二叉树中节点的最大距离

1.问题定义

如果把二叉树看做无向图,我们姑且定义二叉树的“距离”为节点之间边的个数。现在要计算二叉树中相距最远的两个节点之间的距离。

二叉树的节点距离计算有几种情况:

1) 根节点为空,路径长度为0;

2) 根节点非空的情况下,分为两种情况:

情况A: 路径经过左[……]

继续阅读

Read More
| by msbeta | No comments

动态规划-最长公共子序列

1.公共子序列

给定两个字符串m和n,如果它们的子串a和b内容相同,则称a和b是m和n的公共子序列。子串中的字符在原字符串中不要求连续,只要保持原有相对顺序即可。

例如,字符串“abcfbc”和“abfcab”,其中“abc”同时出现在两个字符串中,因此“abc”是它们的公共子序列。

[……]

继续阅读

Read More
| by msbeta | No comments

数据结构与算法-并查集

并查集(Disjoint set或者Union-find set)是一种树型的数据结构,常用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。

1.基本操作

并查集是一种非常简单的数据结构,它主要涉及两个基本操作,分别为:

A. 合并两个不相交集合

先设置一[……]

继续阅读

Read More
| by msbeta | No comments

计算几何-线扫描算法计算矩形并集面积

本文是扫描线算法的具体的应用。

1.问题描述

给定N个矩形,矩形的边均平行于X坐标轴或者Y坐标轴,矩形之间也可能存在互相压盖重叠,计算矩形并集的面积。

2.问题解法

矩形表示:[左下角点,右上角点]

将矩形按照X坐标排序,想象一个竖直的扫描线从左向右扫描,遇到矩形的左边[……]

继续阅读

Read More
| by msbeta | No comments

计算几何-最近点对问题

1.问题描述

最近点对问题是指求解平面点集中距离最近的两个点间的问题。

2.蛮力求解法

对平面中的所有点两两计算距离,然后通过比较获取最小距离。在具体的计算过程,可以通过一定的策略优化,比如避免计算A与B的距离和B与A的距离这样的重复计算,计算距离不用开方等。但总体的时间复杂度为O[……]

继续阅读

Read More
| by msbeta | No comments

Map Matching-轨迹相似性度量算法-Discrete Frechet Distance

Fréchet distance(弗雷歇距离)是法国数学家Maurice René Fréchet在1906年提出的一种路径空间相似性计算方法。

直观的理解,Fréchet distance就是狗绳距离:主人走路径A,狗走路径B,他们行进的速度可能不同,但是不允许backtracking,各自[……]

继续阅读

Read More
  • 1
  • 2