自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yixianfeng41的专栏

Just coding!

  • 博客(87)
  • 资源 (8)
  • 收藏
  • 关注

转载 Java多线程

一、java多线程实现方式Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。1、继承Thread类创建线程Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法

2017-08-28 23:24:42 776

原创 地图匹配小结

如果您是要做交通轨迹方面的研究,那么地图匹配你一定会遇到,因为要进行后续研究,在数据预处理阶段,必须要做的工作之一就是地图匹配,现在地图匹配算法已经很成熟了,并且已存在开源的代码可用了,那么本文主要就是把从数据,到算法到程序这整个环节走通,做一个总结。开源地图-OpenStreetMapOpenStreetMap(OSM)是一款由网络大众共同打造的免费开源、可编辑的地图服务。它是利用公众集体的力量和

2017-06-11 12:07:03 22077 35

原创 浅析张量分解(Tensor Decomposition)

一般一维数组,我们称之为向量(vector),二维数组,我们称之为矩阵(matrix);三维数组以及多位数组,我们称之为张量(tensor)。 在介绍张量分解前,我们先看看矩阵分解相关知识概念。一、基本概念矩阵补全(Matrix Completion)目的是为了估计矩阵中缺失的部分(不可观察的部分),可以看做是用矩阵X近似矩阵M,然后用X中的元素作为矩阵M中不可观察部分的元素的估计。矩

2017-06-10 22:51:43 76953 26

原创 服务器远程安装Matlab2015

因为在windows上跑matlab实验,出现内存不足的情况,因此,希望能在服务器上安装一个matlab。然后出现各种问题,花了一天时间才装好,特此记录下。因为对于没装过的童靴来说,每一个步骤都很关键,因此,尽量把每个步骤写的细一点。Matlab镜像文件matlab 安装镜像文件我是从这儿下载的,再次对上传者表示感谢,地址:镜像文件,提取码为:4gj3。原博客在参考资料【3】安装步骤1、上传镜像文件

2017-04-17 20:42:27 11837 4

原创 常用的相似度计算方法原理及实现

在数据分析和数据挖掘以及搜索引擎中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。常见的比如数据分析中比如相关分析,数据挖掘中的分类聚类(K-Means等)算法,搜索引擎进行物品推荐时。相似度就是比较两个事物的相似性。一般通过计算事物的特征之间的距离,如果距离小,那么相似度大;如果距离大,那么相似度小。比如两种水果,将从颜色,大小,维生素含量等特征进行比较相似性。问题定义:

2017-04-11 20:06:11 128894 12

原创 C/C++可变参数函数

一、C可变参数函数一般我们编程的时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的实际参数。但在某些情况下我们希望函数的参数个数可以根据需要确定,因此c语言引入可变参数函数。典型的可变参数函数的例子有printf()、scanf()等.先看代码:printf(“hello,world!”);其参数个数为1个。printf(“a=%d,b=%s,c=%c”,a,b,c);其参

2017-03-10 21:29:16 2136

原创 《UNIX网络编程》笔记——套接字选项

一、操纵套接字选项的方法1、getsockopt和setsockopt函数这两个函数仅用于套接字#include <sys/socket.h> int getsockopt(int sock, int level, int optname, void *optval, socklen_t *optlen); int setsockopt(int sock, int level, int o

2017-03-10 17:45:15 1104

原创 UDP-Connect

我们都知道TCP 是面向连接的,因此再传输数据之前必须要建立连接,也就是客户端调用connect(),服务端accept(),完成三次握手,建立连接。 我们也知道UDP是面向无连接的,它传输数据之前是不需要建立连接的,那么对于UDP通信编程,我们是否需要调用connect了?如果可以,什么时候调用了?调用了有什么好处了?一、发送接收函数首先回顾下,传输数据的两组函数1、tcp

2017-03-10 16:17:26 1005

原创 TCP-流量控制

所谓的“流量控制”,就是让发送方的发送速率不要太快,要让接受方来的及接收。这是一种对于端的控制,不像拥塞控制,是对网络状况的控制。那么,TCP是怎么实现流量控制的了?这个可以从成块数据(大分组)、交互数据流(小分组)两种数据流情况来详细讨论。一、成块数据对于成块数据,一般采用滑动窗口实现流量控制。滑动窗口滑动窗口,也就是接收方来控制发送方,接收方告诉发送方,自己最多可以接受多少数据,然后发送方根据这

2017-03-10 13:14:49 749

原创 守护进程概念及实例

守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进 程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任 务。比如,作业规划进程crond,打印进程lpd等。在了解守护进程前,先看看进程组、会话、控制终端以及作业的概念

2017-03-01 20:08:27 2059

原创 多进程和多线程

“进程是程序在处理机上的一个执行过程,是资源分配的基本单位”;“线程是CPU调度的一个基本单位”。概念,我们都烂熟于心了,那么是否可以究其本质的分析下,多进程和多线程的优缺点,以便在实际场景中进行合适的选择了?一、多进程1、概念在同一个时间里,同一个计算机系统中如果允许两个或两个以上的进程处于运行状态,这便是多任务。现代的操作系统几乎都是多任务操作系统,能够同时管理多个进程的运行。2、优点1)编程相

2017-03-01 19:02:15 666

原创 随机数问题

一、用随机函数构造另一个随机函数比如,有这样一个需求,现在有一个rand5()函数,这个函数可以生成1-5的随机数,让你通过这个函数生成1-7范围的随机数。怎么做了? 一般思路是这样的:用两次rang5函数,通过这两次rand5结果,构造出一个随机数范围包括0-7,但比0-7大的范围就好了。比如(rand5 -1)*5 +rand5,它的范围为1-25(包括0-7),因为rand5产生每个数随机概

2017-02-28 12:55:00 1068

转载 Linux命令-sed

原文地址:linux sed命令详解一、简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作

2017-02-23 14:20:56 662

原创 操作系统-内存管理笔记

内存管理最基本的操作就是由处理器把程序装入内存中运行。技术有固定分区、动态分区、简单分页、简单分段、虚拟内存分页、虚拟内存分段等。在现代操作系统中基本都有虚拟内存技术。下面了解下各个方法的思想。1、固定分区管理用户内存空间的最简单的方法是就是把它分成许多固定边界的区域。对于分区大小,我们可以采用大小相等分区,或者大小不相等分区。1)大小相等的分区。 在这种情况下,小于或者等于分区大小的任何进程都可

2017-02-23 13:58:27 998

原创 Effective STL-尽量使用区间操作代替单元素操作

一、原因:1、代码更少,更简洁; 2、 对序列容器,还可以避免单个单个申请造成多次分配内存(拷贝开销大)二、区间操作:1)区间构造:container::container(InputIterator begin,InputIterator end);2)区间插入:对于序列容器:void Container::insert(Iterator positon,//插入位置

2017-02-23 10:37:02 816

原创 Effective STL-各种容器正确删除元素方法

一、去除一个容器中有特定值得所有对象1、如果容器是vector、string或deque,使用erase-remove惯用法c.erase(remove(c.begin,c.end(),value),c.end());//c为容器,value为待删值2、对于listc.remove(value);3、对于关联容器 关联容器无remove成员函数,它是调用erase函数。c.erase(value)

2017-02-23 10:27:41 785

转载 使用 C++11 智能指针时要避开的 10 大错误

我很喜欢新的C++11的智能指针。在很多时候,对很多讨厌自己管理内存的人来说是天赐的礼物。在我看来,C++11的智能指针能使得C++新手教学更简单。其实,我已经使用C++11两年多了,我无意中发现多种错误使用C++11智能指针的案例,这些错误会使程序效率很低或者直接崩溃。为了方便查找,我把它们按照下文进行了归类。在开始之前,我们用一个简单的Aircraft类来展示一下这些错误。cl

2017-02-22 23:27:27 1920

原创 shell-特殊符号

在Shell中,有几个符号有着特别的含义,分别是#符号、分号、引号、斜线与反斜线、反引号、冒号、问号、美元符号,下面详细看看这几个特殊字符的作用。

2017-02-21 22:00:10 5285

原创 Linux命令-查看文件

linux中查看文件的命令有cat,more,less,head,tail等,本文主要看看他们的用法与区别。

2017-02-21 21:04:10 897

原创 必须掌握的协议-TCP

网络层次模型,以及TCP头部格式

2017-02-19 15:19:51 1365

原创 二叉树-常见简单算法题

二叉树,对一些常见的简单算法题,比如翻转二叉树,求高度,判断是否是相等的二叉树等,我们是必须掌握的!!!

2017-02-19 01:02:10 2466

原创 常用算法-回朔法

1、概念回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。许多复杂的,规模较大的问题都可以使用回溯法,有“通用

2017-02-18 23:46:23 3137

原创 UDP套接字编程

UDP简介UDP—用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快.

2017-02-17 12:41:52 568

转载 linux编程常用头文件

转自:socket网络编程中的头文件Socket编程中需要用到的头文件stdlib.h : //某些结构体定义和宏定义,如EXIT_FAILURE、EXIT_SUCCESS等sys/types.h:包含很多类型重定义,如pid_t、int8_t等sys/socket.h:与套接字相关的函数声明和结构体定义,如socket()、bind()、connect()及struct sockaddr的定义

2017-02-17 12:20:25 1082

原创 python itchat实现微信自动回复

今天在实验楼发现一个特别好玩的,python 微信库itchat,可以实现自动回复等多种功能,好玩到根本停不下来啊,尤其是调戏调戏不懂计算机的,特别有成就感,哈哈!!

2017-02-16 22:00:32 18023 11

原创 位运算技巧与应用

位运算是把数字用二进制表示之后,对每一位上的0或者1的运算。运算包括与、或、异或,非。熟练掌握位运算技巧,能给我们解决问题提供一些巧妙的方法。

2017-02-16 17:47:28 3707

原创 二分查找实现及其应用

二分查找,应用广泛,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如果x<a[n/2],则我们只要在数组a的左半部继续搜索x(这里假设数组元素呈升序排列)。如果x>a[n/2],则我们只要在数组a的右半部继续搜索x。

2017-02-16 15:16:40 3034

原创 二叉树-遍历终极版

对于二叉树的遍历,最熟悉的就是递归遍历了,对二叉树的非递归遍历大致知道一些,但是不太熟悉,尤其是后续非递归遍历的实现,一直比较懵逼,于是上网查询了一下,果然大神无处不在,那个后序遍历的双栈法,简直让人拍案叫绝,下面总结下。

2017-02-16 00:25:13 2584

原创 二叉树-创建、重建、转化

对于二叉树的创建女,一般我们只熟悉最简单的二叉树创建方式,即逐个输入节点,然后按照先序遍历或者中序、后序遍历方式来递归建立二叉树。但是,光掌握这个是不够的,我们还得掌握二叉树的重建(先序中序重建二叉树,后序中序重建二叉树),数组转换为二叉树,链表转换为二叉树等等。1、最简单的创建方式我们可以根据先序遍历递归创建二叉树,当然也可以中序或者后序遍历方式创建二叉树。//创建二叉树BTress Creat

2017-02-15 23:25:13 2834

原创 TCP套接字编程(二)

前面通过多进程,多线程,支持处理多个客户端通信,本篇将讲述用select这个IO复用来实现。IO模型首先连接一下IO模型,unix下有5种可用IO模型,分别是:阻塞式IO、非阻塞式IO、IO复用、信号驱动式IO。 5种IO模型比较 1、阻塞式IO阻塞式IO是最常用的IO模式,它就是没有数据就阻塞,一直等到有数据位置,期间啥也不干,就一门心思等数据。2、非阻塞式IO非阻塞式IO,就是不断轮询,

2017-02-15 13:22:58 537

原创 特征工程概述

有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。

2017-02-15 00:15:36 579

原创 TCP套接字编程(一)

篇一:LInux socket编程(一) 篇二:LInux socket编程(二)一、Tcp 客户端服务器通信模型首先要清楚socket通信整个过程是怎样的,首先肯定都要创建一个socket, 然后服务器收拾收拾,准备接客(listen,bind accept).诶,有客户端来大保健了(accept)。来吧,谈谈价钱啥的(三次握手),好了,达成一致,开始工作。 下面首先总结一下几个重

2017-02-14 17:43:44 851

原创 必须掌握的C++常用String函数

本系列将对string函数的用法以及实现做一个总结,共包括以下部分:strcspn 、strcpy 、strcat 、strchr 、strncmp 、strcmp 、strstr 、strlen

2017-01-22 14:53:51 710

原创 必须掌握的C++常用关键字汇总

本文将对一些常见c++关键字做一个总结,共包括如下关键字:const、extern、operator、sizeof、-static、new、volatile、union

2017-01-22 14:27:55 12145 3

转载 稀疏矩阵存储格式总结

稀疏矩阵是指矩阵中的元素大部分是0的矩阵,事实上,实际问题中大规模矩阵基本上都是稀疏矩阵,很多稀疏度在90%甚至99%以上。因此我们需要有高效的稀疏矩阵存储格式。本文总结几种典型的格式:COO,CSR,DIA,ELL,HYB。

2017-01-05 15:33:21 1028

原创 函数重载、覆盖与隐藏

一、函数重载1、特征:1)相同的范围(在同一个类中); 2)函数名字相同; 3)参数不同; 4)有无virtual关键字不影响。2、调用调用实参与形参符合的那个函数。二、函数覆盖覆盖是指派生类函数覆盖基类函数。1、特征:1)不同的范围(分别位于派生类与基类); 2)函数名字相同; 3)参数相同; 4)基类函数必须有ovirtual 关键字,否则就是隐藏了。 2、调用1)当派生类对象派生

2016-12-16 19:36:58 405

原创 哈希表一

一、定义哈希表(散列表)通过将关键码映射到表中的某个位置上来存储元素,然后根据关键码来访问元素。具体来说,就是在关键字 k 和元素的存储位置 p 之间建立一个对应关系 f ,使得 p=f(k) , f 称为哈希函数 。创建哈希表时,把关键字为 k 的元素 直接存入地址为 f(k) 的单元 ;以后当查找关键字为 k 的元素时,再利用哈希函数计算出该元素的存储位置 p=f(k) ,从而达到按关键 字直接

2016-12-16 10:04:33 450

原创 c++复杂指针

c++指针是一个难题,复杂指针更是一个难题,因此有必要分清指针数组与数组指针,函数指针与指针函数,并能准确识别他们,并进行灵活运用!

2016-12-16 09:57:15 1071

原创 二叉树-详解平衡二叉排序树AVL

平衡二叉搜索树AVL也许因为输入值不够随机,也许因为输入顺序的原因,还或许一些插入、删除操作,会使得二叉搜索树失去平衡,造成搜索效率低落的情况。 比如上面两个树,在平衡树上寻找15就只要2次查找,在非平衡树上却要5次查找方能找到,效率明显下降。那么什么叫“平衡”,直观上的最佳平衡条件就是 每个节点的左右子树有着相同高度,但这确实太过苛刻。平衡二叉树AVL tree退而求其次,要求任何节

2016-11-19 14:06:55 3841 2

原创 递归原理及常见应用

一、什么是递归递归算法,就是直接或间接调用自身的函数,也就是把一个大的复杂的问题层层转换为一个小的和原问题相似的问题来求解的这样一种策略。上面解释可能有点太官方了,来看看知乎上大神的通俗易懂的解释:解释一“古之欲明明德于天下者,先治其国;欲治其国者,先齐其家;欲齐其家者,先修其身;欲修其身者,先正其心;欲正其心者,先诚其意;欲诚其意者,先致其知,致知在格物。物格而后知至,知至而后意诚,意诚而后心正,

2016-11-09 21:37:12 3797

项目生成与读取配置文件测试

项目中时常会保存与读取配置文件,因此,我将这部分抽出来了,建了一个测试文件,供自己与大家学习!

2016-07-22

libjpeg编译后的包

我将libjpeg以及libjpeg-turbo这两个开源库编译后的包传上来,方便大家直接使用。

2016-07-19

C#绘制折线图实时展示数据

完全独立出来的一个绘制折线图的例子,直接放到程序中就可以用。可以用来实时展示像温度,脉搏这类的数据。

2015-07-08

RGB数据生成BMP图片

当你想生成一个BMP图片却屡屡失败时,有没有很烦恼、很受挫,想要抓狂的赶脚,我想肯定有的.......怎么办了,用用我这个测试列子测试一下吧。这个测试程序,包含了生成RGB数据的方法和将RGB数据生成BMP图片的方法,你可以通过这个方法找到到底是你RGB数据的问题了,还是你生成BMP图片方法的问题

2015-07-03

C#皮肤空间

你还在为你的界面朴素简单而烦恼吗,试试这个皮肤空间吧,只需简简单单的几句代码加一个dll,瞬间将你的界面改头换面了,什么叫任性,这才叫任性!

2015-07-03

c#编写的串口助手

这是用c#语言编写的串口助手,实现了一般串口助手的所有功能.......

2015-07-03

C++ Primer第五版答案

完全包含每一章的习题代码,同时有部分章节的简答题代码

2015-07-02

即时抓图Filter

实现抓图功能时,GetCurrentImage虽然简单,但是并不稳定,不能适用于所有情况,所以最佳选择还是自己开发一个filter,此Filte是陆其明老师编著的DirectShow实物精选上的配套源代码中的抓图Filter,不要怪我用来赚取分数哟,嘿嘿!

2015-07-01

空空如也

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

TA关注的人

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