自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GUI1259802368的博客

本博客的主要作为自己的学习笔记,并不是以教授知识为目的。如果有人能从我的博客中学到东西,我很高兴。有人发现文章中有不对的地方,也欢迎大家纠正。...

原创 二叉树的各种操作

二叉树的各种操作 1、树的递归遍历 2、求二叉树中节点的个数 3、求二叉树中叶子节点的个数 4、求二叉树的深度 5、求第k层节点数 6、树的非递归遍历 7、求一棵二叉树的镜像 8、判断两棵树的结构是否相同 9、判断一棵树是否平衡 10、将二叉查找树变为有序的双向链表 11、判断一棵树是否是另一棵树...

2018-04-01 09:31:39 1129 0

原创 单链表的各种操作

1、从单链表中删除指定元素 2、翻转单链表 3、求单链表中节点个数 4、查找链表中倒数第K个节点 5、查找链表中间节点 6、倒序打印单链表 7、已知两个单链表pHead1 和pHead2 各自有序,把它们合并成一个链表依然有序 8、判断一个单链表是否有环 9、判断两个单链表是否相交...

2018-03-30 08:41:15 1104 0

原创 C/C++ 常用内存操作函数的实现

1、函数:memcpy原型:void *memcpy(void *dest,void const *src,size_t length) 功能:memcpy从src的起始位置复制length个字节到dest的内存起始位置说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针 v...

2018-03-13 14:57:09 1269 0

原创 C/C++ 常用字符串函数实现

1、函数名: strcpy功  能: 将参数src字符串拷贝至参数dest所指的地址用  法: char *strcpy(char *dest, const char *src);返回值: 返回参数dest的字符串起始地址说  明: 如果参数dest所指的内存空间不够大,可能会造成缓冲溢出的错误情...

2018-03-11 16:01:09 1564 0

原创 23种设计模式分类

1.创建型模式 1)Factory模式 2)AbstactFactory模式 3)Singleton模式 4)Builder模式 5)Prototype模式 2.结构型模式 1)Bridge模式 2)Adapter模式 3)Decorator模式 4)Composite模式 ...

2019-06-01 21:14:15 88 0

原创 Opencv surf算法

特征点检测与匹配算法——surf #include <opencv2/opencv.hpp> #include <opencv2/nonfree/nonfree.hpp> #include <sys/time.h> #include <iostream...

2019-05-19 10:33:04 611 1

原创 Opencv 阈值化处理

阈值化算法(使用滑动条) #include <opencv2/opencv.hpp> using namespace std; using namespace cv; #define WINDOW_NAME "【程序窗口】" int g_nThreshold...

2019-05-18 17:34:27 113 0

原创 go语言exec包的使用

有时候我们的go程序需要执行外部的命令,比如执行linux shell命令,一个其他语言(比如C语言)编写的二进制文件,我们都可以通过调用go语言exec包的函数来执行。下面将介绍exec包的一些简单使用例子。 1. exec.Command执行命令 假设我们要执行调用linux的pin...

2019-03-10 17:19:11 1191 0

原创 go 语言中的定时器

       在日常的开发过程中,我们免不了与定时器打交道。通常需要定时执行某个程序,可能是每隔一段时间执行一次,也可能是固定的每天在某一个时间点执行一次。总之,定时器的使用是非常频繁的,下面将介绍几种常用定时器。 1. 假设每隔三秒,我们打印一段信息,可以采用如下方式。我们将要执行的程序放在一...

2019-02-25 23:10:10 3169 0

原创 redis pipe处理大数据操作

       假设我们现在有一个需求,需要往redis中添加1000完条数据。注意这1000万数据是没有重复的,因此我们只需要把这1000万数据添加到redis中的一个集合中。 命令行添加方式如下: SADD  [集合名称]  成员1,成员2,... 例如 SADD FRUIT app...

2019-02-24 16:11:38 892 0

转载 Linux 去掉^M的方法

转自:http://blog.csdn.net/lhf_tiger/article/details/8203013 真恶心,10X流程产生的csv文件的行位居然有^M字符,害我一直在找报错原因,真是坑,还好最后我找出来了。一直在用Python,perl是越来越不熟练了。调试花了好久。 替换^M...

2018-12-17 10:13:35 756 0

原创 centos下perl的升级

1.访问http://www.cpan.org/authors/id/S/SH/SHAY/ 下载perl版本 2.将下载下来的安装包放到你的目录里边 # 解包 tar -zxvf perl-5.26.1.tar.gz # 进入文件目录 cd perl-5.26.1 进入解压目录执行 ....

2018-12-10 09:56:29 1115 0

转载 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found问题解决方法

https://pkgs.org/download/libstdc++ centos 7 64位系统,本人在升级完gcc7.3.0之后,发现编译项目工程,结果会出错:libstdc++.so.6: version `GLIBCXX_3.4.20' not found 解决方法如下:...

2018-12-10 00:07:11 3688 0

原创 Go语言常用字符串操作

1. 去除字符串中多余空白字符 package main import (   "fmt"   "strings" ) //利用正则表达式压缩字符串,去除空格或制表符 func compressStr(str string) string { ...

2018-11-29 14:04:19 115 0

原创 go语言解析json字符串

go语言解析json数据主要使用go语言自带的json转换库encoding/json 1. json.Marshal函数 该函数的作用是主要对象转换为JSON字符串数据,函数原型如下: func Marsha (v interface{})([]byte, error) 也就是说,这个函...

2018-11-29 13:56:33 785 0

原创 PTAM在Linux下编译运行

一. 环境搭建 配置:Ubuntu14.041. 前期准备 (1)更新软件源 sudo apt-get update(更新软件列表) sudo apt-get upgrade(更新已安装的软件) (2)安装build工具 sudo apt-get install build-essent...

2018-10-31 20:59:18 457 0

原创 Opencv Harris和FAST角点检测算法

Harris算法 #include<opencv2/opencv.hpp> #include<time.h> #include<sys/time.h> using namespace cv; using namespace std; int thresh...

2018-10-28 14:17:49 432 0

原创 Go语言并发模型——通道

       原子函数和互斥锁都能工作,但是依靠它们都不会让编写并发程序变得更简单,更不容易出错,或者更有趣。在Go语言里,你不仅可以使用原子函数和互斥锁来保证对共享资源的安全访问以及消除竞争状态,还可以使用通道,通过发送和接收需要共享的资源,在goroutine之间做同步。        当一个...

2018-10-18 09:17:49 234 0

原创 Go语言并发模型——竞争状态

       如果两个或者多个goroutine在没有互相同步的情况下,访问某个共享的资源,并试图同时读和写这个资源,就处于相互竞争的状态,这种情况被称作竞争状态。对一个共享资源的读和写操作必须是原子化的,换句话说,同一时刻只能有一个goroutine对共享资源进行读和写操作。 下面这一个程序将会...

2018-10-16 14:17:47 185 0

原创 Go语言并发模型——goroutine

       Go语言里的并发指的是能让某个函数独立于其他函数运行的能力。当一个函数创建为goroutine时,Go会将其视为一个独立的工作单元。这个单元会被调度到可用的逻辑处理器上执行。Go语言运行时的调度器是一个复杂的软件,能管理被创建的所有goroutine并为其分配执行时间。这个调度器在操...

2018-10-15 09:01:54 288 0

原创 Go语言类型系统——接口与嵌入类型

       多态是指代码可以根据类型的具体实现采取不同行为的能力。如果一个类型实现了某个接口,所有使用这个接口的地方,都可以支持这种类型的值。例如标准库里io包里实现的流式处理接口。io包提供了一组构造的非常好的接口和函数,来让代码轻松支持流式数据处理。只要实现两个接口,就能利用整个io包背后的...

2018-10-13 08:50:35 216 0

原创 Go语言类型系统——基本类型

一、用户定义的类型 Go语言里声明用户定义的类型有两种方法。最常用的方法是使用关键字struct,它可以让用户创建一个结构类型。结构里每个字段都会用一个已知类型声明。这个已知类型可以是内置类型,也可以是其他用户定义的类型。1. 结构型类型 //user 在程序里定义一个用户类型 type us...

2018-10-11 16:49:31 153 0

原创 Go语言数组、切片和映射

G语言有3种数据结构可以让用户管理集合数据:数组、切片和映射。 一、数组        在Go语言里,数组是一个长度固定的数据类型,用于存储一段具有相同类型的元素的连续块。数组存储的类型可以使内置类型,如整型或者字符串,也可以是某种结构类型。1. 声明和初始化 声明数组时需要指定内部存储的数据的...

2018-10-08 22:09:10 103 0

原创 Linux下./configure、make和make install命令

1. ./configure命令        ./configure 是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。       这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configur...

2018-09-17 10:30:28 253 0

原创 Ubuntu常用工具安装与设置

1. 初次登录设置root 密码 输入命令:sudo passwd 2. ubuntu系统安装vim: 普通用户下输入命令:sudo apt-get install vim-gtk 刚安装的VIM,可能界面并不是十分友好,这就需要我们去更改vim的配置文件,按照我们的需求去修改它。 在命...

2018-09-16 15:22:52 305 0

转载 ubuntu12.04 64位安装opencv-2.4.9

本文转载自http://blog.csdn.net/dengshuai_super/article/details/51394118 作者:dengshuai_super 准备工作: 1. 编译环境 sudo apt-get install build-essential 2. 安装...

2018-09-10 08:18:54 457 0

原创 进制转换

1. 十进制转其他进制 1) 十转八进制 string l0to8(int a) {     string s = "";     while (a) {         int res = a % 8;         s = to_string(res)+s;     ...

2018-08-28 16:08:31 128 0

原创 C++实现单例模式

下面是一个简单的单例模式 构造函数声明为private或protect防止被外部函数实例化,内部保存一个private static的类指针保存唯一的实例,实例的动作由一个public的类方法代劳,该方法也返回单例类唯一的实例。 class singleton { private: ...

2018-08-27 10:28:31 95 0

原创 学习笔记之动态栈

本博客内容来源自Milo Yip老师的从零开始JSON库教程,中的一个动态栈的实现。下面是链接地址: https://zhuanlan.zhihu.com/p/22566705 因为收获颇多,故作此笔记,记录之。一个字节型的动态栈,能够实现两倍空间自动扩展(叶老师是支持1.5倍自动扩展)。下面是相...

2018-08-25 16:43:29 89 0

原创 Patition函数用法

Patition函数        实现快速排序算法的关键在于先在数组中选择一个数字,接下来把数组中的数字分为两部分,比选择的数字小的数字移动到数组的左边,比选择的数字大的数字移动到数组的右边。这个函数可以如下实现: int Parition(int data[ ],int length, i...

2018-08-24 09:57:48 192 0

原创 洗牌算法和概率算法

1.洗牌算法 假定有个数组,含有n个元素,假定有个方法shuffle(...)对n-1个元素有效,我们用它来打乱n个元素的次序。 我们会先打乱前n-1个元素的次序,然后取出地n个元素,将它与数组中的元素随机交换。 递归解法的算法如下: int Rand(int low, int high) {...

2018-08-21 18:59:13 280 0

原创 I/O模型

一、基本概念 通常有同步/异步,阻塞/非阻塞四中调用方式:1. 同步和异步主要针对客户端 同步:所谓的同步,就是在客户端发出一个功能调用时,在没有得到结果之前,该调用不返回,也就是说必须一件一件事做,等前一件事完了之后才做后一件事。  如:普通的B/S模式(同步):提交请求-&gt;等待服...

2018-08-19 20:21:51 75 0

原创 最长公共子序列与子串问题

1. 最长公共子序列问题 题目:给定两个字符串str1和str2,返回两个字符串的最长公共子序列。 举例:str1="1A2C3D4B56",str2="B1D23CA45B6A"。 "123456"和"12C4B6"...

2018-08-17 20:48:31 71 0

原创 字符串题目

1. 数串 1. 题目描述:设有n个正整数,将他们连接成一排,组成一个最大的多位整数。                       如:n=3时,3个整数13,312,343,连成的最大整数为34331213。                       如:n=4时,4个整数7,13,4,24...

2018-08-15 08:43:27 203 0

原创 大数据和空间限制问题

大数据和空间限制问题 1. 只用2GB内存在20亿个整数中找到出现次数最多的数 2. 40亿个非负整数中找到没出现的数 3. 找到100亿个URL中重复的URL以及搜索词汇的top K问题 4. 40亿个非负整数中找到出现两次的数和所有数的中位数 5. 一致性哈希算法的基本原理 6. ...

2018-08-10 14:40:28 360 0

原创 位运算各种操作

1.二进制中1的数 2.数组中只出现一次的数字 3.不用加减乘除做加法 4.不用额外变量交换两个整数的值 5.不用比较判断找出两个数中较大的数 6.在数组中找到出现奇数次的数   1. 请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位...

2018-08-08 19:53:26 212 0

原创 栈与队列的各种操作

栈与队列的各种操作 1.用两个栈实现队列 2.包含min函数的栈 3.栈的压入、弹出序列 4.栈的压入、弹出序列 5.仅用递归函数和栈操作逆序一个栈 6.用一个栈实现另一个栈的排序 7.滑动窗口的最大值 1.用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail ...

2018-08-06 19:15:31 648 0

原创 守护进程与孤儿进程

基本定义        守护进程:是生存期长的一种进程。它们常常在系统引导装入时启动,仅在系统关闭时才终止。因为它们没有控制终端,所以它们是在后台运行的。UNIX系统有很多守护进程,它们执行日常事务活动。        孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成...

2018-08-04 08:55:42 929 0

原创 AVL树

       AVL树是带有平衡条件的二叉查找树。这个平衡条件必须要容易保持,而且必须保证树的深度为为O(logN)。最简单的方法是要求左右子树具有相同的高度。        另一种平衡条件是要求每个结点都必须要有相同高度的左子树和右子树,这个条件太严格,需要放宽条件。        一棵AVL树...

2018-08-02 16:04:35 2293 0

原创 判断素数

质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。 定义        质数又称素数。一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数;否则称为合数。 解法1 对1到n之间的数求余,若余数为0,说明其有因子,它不是一个素数。 bool isPrime(in...

2018-07-31 09:19:09 957 0

提示
确定要删除当前文章?
取消 删除