自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 十种常见排序算法的思想、应用场景、C++代码实现及时间效率直观对比

前言: 写在这篇博客前面,最近发现自己做事学东西远没有以前的踏实,往往学过之后很快就忘记,包括基础的排序算法,虽然看过几遍,但是却没有真正掌握,到了突然需要自己抛开书本手写的时候,发现自己对它们其实挺陌生的。所以希望借写这篇博客的机会,让自己好好复习一下基本的排序算法,也希望自己从现在开始能做到学东西像之前一样踏实。这篇博客中包含的排序算法主要有:冒泡排序,插入排序,希尔排序,选择排...

2018-05-01 22:19:23 7166 4

原创 C++实现递归,非递归遍历二叉树(前序,中序,后序)

初学二叉树那会儿,始终掌握不好二叉树的遍历方法,更认为非递归遍历晦涩难懂没有掌握的意义。实际上非递归的遍历方法很有用处,由于每次递归都需要将函数的信息入栈,当递归层数太深很容易就导致栈溢出,所以这个时候就必须用到非递归遍历二叉树了。而且,当看懂非递归遍历后,你会发现,其实非递归也很简单。我们知道,要想处理二叉树,离不开其遍历方式。遍历二叉树有三种方式,前序遍历,中序遍历,后序遍历,每种...

2018-08-25 17:36:34 3950 3

原创 设计模式之单例模式

单例模式单例模式是一种常用的软件设计模式。它的核心结构只包含一个被称为单例的特殊类。它的目的是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。单例模式分为懒汉式和饿汉式1. 懒汉式class singleton //实现单例模式的类{private: singleton(){} //私有的构造函数 static ...

2018-08-07 09:59:30 285 1

原创 Blade - 腾讯新一代构建系统

Blade构建系统Blade是在腾讯公司台风云计算平台开发中诞生的新一代构建系统。Blade目前支持的平台只有Linux,blade运行时需要安装: 1. SCons v2.0 or newer (required) 2. Python v2.6 or newer (required, python v3.0 or newer excluded) 3. ccache v3.1 or ...

2018-07-14 17:45:54 8056

原创 IJCAI 2018 阿里妈妈广告预测算法大赛

背景 本项目是天池的一个比赛,由阿里妈妈和天池大数据众智平台举办广告预测算法大赛,本次参赛人数5200多个队伍,而我们只取得了731的成绩,最遗憾的是当我们写好CNN预测结果准备上传,因为一些意外情况,发现队伍被强制解散,很无奈,又非常不甘心,但是这就是规则,我们只有遵循的权利,难过伤心之后还是需要把整个项目进行整理总结。目标本次比赛以阿里电商广告为研究对象,提供了淘宝平台的...

2018-07-12 18:20:14 2536 2

原创 强大的Git、从安装到熟练使用说明

参考资料:廖雪峰git教程 目录背景1. git的简介2. git的安装3. git仓库创建4. 基本git命令5. 远程仓库6. 分支管理7. 标签管理背景版本控制这个概念不知道大家有没有听说过,不管你是软件开发还是平时写文章或者毕业设计的论文都要有版本管理这个意识,因为我自己在这个上面吃过不少亏。git命令的学习可以使自己能够更好完成自己的工作以及...

2018-06-01 17:40:59 604

翻译 MarkDown编辑器常用语法及快捷键

自从用上了MarkDown来写博客,就再也不想用普通方式写了,之前把MarkDown的基础教程不小心删了,不久前突然找到,特地记下来。本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Ma...

2018-06-01 16:57:56 4109

原创 5个Linux常用的系统检测工具

前言使用Linux系统也有很长一段时间,很少想着去监控服务器的性能,想要写这篇博客也是源于想要通过这种方式将这些碎片的知识记录下来,且试用一下其内置的命令和一些附加的工具。这些工具提供了获取系统活动的相关指标,可以使用这些工具来查找性能问题的可能原因,接下来提到的是一些基本的命令,用于系统分析和服务器调试等,例如1. 找出系统瓶颈2. 磁盘(存储)瓶颈3. CPU和内存...

2018-06-01 16:50:18 4335 1

原创 交叉字符串问题、判断字符串s3是不是由字符串s1和s2交叉组合而成

前言 题目:交叉字符串问题,给出三个字符串s1,s2,s3,判断s3是否可以由s1和s2两个字符串经过交叉组合而成,组合过程不能改变字符在s1,s2字符串中的原本顺序。例: s1=”aabcc” s2=”dbbca” s3=”aadbbcbcac”或者s3=”aadbbbaccc” 给了两种s3的情况,第一种情况下答案是yes,第二种情况下答案是no,因为找不到任何...

2018-05-29 10:23:38 2688 1

转载 浅谈多线程编程之原子性操作

原子性操作问题几乎是所有多线程编程中不可避免的问题,很早之前看过一篇关于讲解原子性操作的博客,感觉很不错,现在将博客转载过来并做个复习。文章转载自:多线程程序中操作的原子性,感谢原作者提供的好文章。 参考文献: [1] https://en.wikipedia.org/wiki/Linearizability [2] 关于内存对齐、bit field等 –《Linux C编程一站...

2018-05-22 17:43:16 1139

原创 C++实现基于TCP协议简单通信的服务端与客户端

前段时间复习了TCP协议相关知识,整理了一下之前所做的练习,一个很简单的服务端和客户端程序,虽然简单,但是对于刚接触的人来说还是很有意思。前言我们知道,TCP协议能够在网络通信中提供可靠的传输,其主要依靠的是TCP协议连接时的三次握手,断开时的四次挥手,以及超时重传,滑动窗口,拥塞控制的特质。 那么,网络中的进程之间是如何通信的呢?进程是通过socket来通信的;那socke...

2018-05-22 11:53:59 6558 1

原创 Redis入门笔记-linux下配置redis及常见参数说明

最近得空开始学习简单的redis入门知识,一来就遇见了难题,redis参数配置问题,几十个参数我发现不是自己一时半刻能够全部理解的,所以先做一个简单的笔记与记录,需要的时候正好可以来博客查查。参考资料:Redis配置|菜鸟教程Redis特点简单介绍Redis具有的特点与优势: 1. 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。 2....

2018-05-05 16:24:53 480

原创 OpenCV之图片视频数据简单处理笔记

opencv是一个开源的跨平台计算机视觉库,其用C++语言编写,主要接口也是C++语言,自己平时做图像处理相关内容是有用到一些简单的操作,调用的处理接口较为简单,但久了不用又会遗忘,所以在这篇博客里记录下来。OpenCV图片的存取Mat srcImage = imread("srcImage.bmp");imwrite("图片.bmp",srcImage);imshow...

2018-05-04 15:48:05 301

原创 static静态变量修饰符的使用与注意

平时在程序设计过程中,偶尔遇到一些看似解决起来十分复杂的小问题,但突然一想到static或者extern的特性和作用,问题很简单的就被解决了,static变量修饰符有时确实有奇效,所以在这记录一下。static的意思是静态的,该修饰符可以修饰成员变量,成员常量和成员方法;在面向对象程序设计中,static修饰的内容是隶属于类的,而不是隶属于某个对象实例,所以static修饰的成员变量一...

2018-05-04 15:10:40 1413

原创 优化swap操作、实现快速交换

前言 这两天刚学会使用MarkDown书写,因为很喜欢这种简单的布局和格式,刚用时发现改变颜色还需要写代码,有点不明白为什么要这么麻烦。后来看见一句话,“MarkDown本身简单设计就是为了让人可以一直处于写作状态,而不用因为忙于调整格式,打断了写作思路。” 记录一下,希望自己以后每周都能坚持写一两篇博客,记录自己的学习。如何实现swap操作最高效swap操作指的是交换数组中两个...

2018-05-02 22:29:38 1579

原创 单向链表判环系列问题及C++实现

问题描述:    关于单向链表判环,有一系列问题,首先                                    1、给定一个单向链表,判别链表中是否存在环路?                                    2、如果存在环路,怎么知道环路的长度?                                    3、如果存在环路,链表中环的入口点在哪儿?  ...

2018-04-04 11:35:07 412

原创 经典Top-K问题最优解决办法以及C++代码实现

问题描述:    Top-K问题是一个十分经典的问题,一般有以下两种方式来描述问题:在10亿的数字里,找出其中最大的100个数;或者在一个包含n个整数的数组中,找出最大的100个数。    前边两种问题描述稍有区别,但都是说的Top-K问题,前一种描述方式是说这里也许没有足够的空间存储大量的数字或其他东西,我们最好可以在一边输入数据,一边求出结果,而不需要存储数据;后一种说法则表示可以存储数据,这...

2018-04-02 18:57:34 7633 1

原创 C/C++中野指针产生的三种情况

C/C++中野指针产生的三种情况1、指针变量未初始化:任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气,此时若未初始化,则产生野指针。2、指针释放后未置空:有时指针在free或delete后未赋值 NULL,便会使人以为是合法的,此时指针指向一块未定义、未分配的内存。其实free和delete只是把指针所指的内存给释放掉,但并没有把指针本身干掉。指针指向的就是“垃圾...

2018-03-21 11:35:13 882

原创 实现基于C语言的二值图像连通域标记算法

前言:    二值图像分析最重要的方法就是连通区域标记,它是所有二值图像分析的基础,它通过对二值图像中白色像素(目标)的标记,让每个单独的连通区域形成一个被标识的块,进一步的我们就可以获取这些块的轮廓、外接矩形、质心、不变矩等几何参数,在二值图像中,背景区像素的值为0,目标区域的像素值为1。    本文实现了基于C语言的连通域标记算法,使用C语言是为了方便程序在各种仅支持C语言的平台上运行,算法考...

2018-03-11 21:02:35 8434 14

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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