三哥的博客

学习笔记

排序:
默认
按更新时间
按访问量

matlab素描算法实现

matlab 实现图像素描化处理 处理一幅图像,生成实际的素描图像,基本原理见:photoshop图像滤镜——素描算法 实现代码如下: I=imread('C:\Users\Administrator\Desktop\c.jpg'); figure(1); imshow(I); ...

2018-04-15 22:53:18

阅读数:261

评论数:0

Linux 信号量

信号量信号量主要用于进程和线程间的同步,信号量保存一个整数值来控制对资源的访问,当值大于0时,表示资源空闲可以访问,等于0时表示资源分配完毕无法访问,小于0时表示有至少1个线程(进程)正在等待资源。如果信号量的值只为0或1,那么它就是一个二元信号量,功能就想当于一个互斥锁。信号量的P,V操作信号量...

2017-08-19 18:20:49

阅读数:487

评论数:0

tcp状态转移

TCP状态转移图一个正常连接和断开过程客户端和服务器端的状态转移如下: 其中TIME_WAIT 状态是在服务端发送FIN后,客户回复ACK后,客户端需要等待2MSL时间(报文最大生存时间): 1. 此时若是客户端回复的ACK因为网络的原因,服务端没有收到,服务端要重发FIN,客户端此时处于TI...

2017-08-13 16:41:05

阅读数:434

评论数:0

排序算法-总结

排序总结1、直接插入排序  按顺序将每个元素插入到适当位置,类似于抓扑克牌,每抓到一张按序插入。 时间复杂度:  最好 O(n);最坏O(n2);平均O(n2);  辅助空间复杂度S(n)=O(1),是一个就地排序,是稳定的排序方法。 2、希尔排序  类似于插入排序,不过这里是分组的,不断...

2017-04-07 11:13:01

阅读数:296

评论数:0

数据结构-图

图的定义图G=(V,E)由顶点(vertex)的集V和边(edge)的集E组成,每一条边就是一个点对(v,w)。如果点对即边是没有方向的,那么就是无向图,如果边是有方向的,那么就是有向图。无向图点对用(v,w)表示,有向图点对用<v,w>表示。有些图的边会有权重,用来表示边的权值。当图...

2017-03-07 21:31:14

阅读数:491

评论数:0

优先队列-堆

优先队列  队列是一个操作受限的线性表,数据只能在一端进入,另一端出来,具有先进先出的性质。有时在队列中需要处理优先级的情况,即后面进入的数据需要提前出来,这里就需要优先队列。优先队列是至少能够提供插入和删除最小值这两种操作的数据结构。对应于队列的操作,插入相当于入队,删除最小相当于出队。   ...

2017-03-06 22:41:00

阅读数:1726

评论数:2

数据结构-散列

散列的基本思想就是映射,通过哈希函数将关键字信息映射到另外一个值,这个值保存了关键字信息的存储地址,查找的时候可以直接通过关键字获取查找的信息,而不需要进行复杂的搜索运算,查找的期望时间为O(1),保存了关键字信息的数据结构叫做散列表。例如数12,23,34,46,59,散列函数为数值的十位数字,...

2017-03-06 16:04:09

阅读数:365

评论数:0

C++关联容器:map,set...

顺序容器是按照元素在容器中位置来保存和访问的,而关联容器则不同,它是通过关键字来进行保存和访问。C++标准库提供了8个关联容器,根据有无重复关键字,有序还是无序保存来区分:map和set是主要的两种关联容器,map中元素为键-值,关键字起到索引作用,值为相关联数据,set只包含一个关键字。关联容器...

2017-03-01 09:25:04

阅读数:409

评论数:0

C,C++字符串总结

在C中是没有字符串这个数据类型的,字符串都是通过字符数组来保存的。C字符串实际上就是一个以null(‘\0’)字符结尾的字符数组,null字符表示字符串的结束。C中有一个string.h的头文件,里面定义了所有有关C字符串处理的函数,与C++中的string是不一样的。   C++中字符串有一个...

2017-02-28 22:10:59

阅读数:1683

评论数:0

C++IO流-标准输入与输出

一、I/O类关系在C++不直接处理输入输出,而是通过标准库中的I/O流类来进行处理。标准库主要有下面一些类:istream,ostream,iostream,ifstream,ofstream,fstream等等。其类关系图如下:其中istream用来处理输入流,ostream处理输出流,iost...

2017-02-27 21:34:57

阅读数:586

评论数:0

Linux netstat命令详解

简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet c...

2016-11-30 21:54:17

阅读数:267

评论数:0

Linux cat,more,less等命令

在Linux系统中有三种命令可以用来查看全部的文件:cat,more,less通过这个些命令可以直接在控制台输出需要查看文件的内容,这几个命令各有不同。 cat命令可以一次显示整个文件,如果文件比较大,使用不是很方便; more命令可以让屏幕在显示满一屏幕时暂停,此时可按空格健继续显示下一个画面,...

2016-11-30 17:32:52

阅读数:617

评论数:0

Linux webbench 源码解析

Web Bench是一个网站压力测试的工具。其最后更新时间是2004年,已经十年多了。其源代码总共才不到600行,全部使用C语言编写,最多可以模拟3万个并发连接。真可谓是简洁代码的代表之作。      用法:可以在安装后直接输入 webbench 或 webbench -h 或 webbe...

2016-11-27 10:23:24

阅读数:332

评论数:0

Linux getopt函数详解

getopt为linux系统中的函数,用来解析命令行参数,调用形式如下:while((c = getopt(argc, argv, "xy:z::")) != -1) { switch(c) { case 'x': ... ... ...

2016-11-25 11:31:07

阅读数:427

评论数:0

Linux 线程简单介绍

在处理某些问题时,有时候会通过生成子进程来实现,但是,进程是昂贵的,利用子进程来处理相关问题需要很大的开销,因此有时候需要线程来处理,线程可以看成的轻量的进程。同一进程内的线程共享以下数据: 全局内存; 进程指令; 打开的文件; 信号处理函数和信号处置; 当前工作目录; 用户ID和用户组ID; 大...

2016-11-21 22:29:20

阅读数:297

评论数:0

单播、广播、组播的区别和特点

单播、广播、组播的区别和特点当前的网络中有三种通讯模式:单播、广播、组播,其中的组播出现时间最晚但同时具备单播和广播的优点,最具有发展前景。 1.单播: 主机之间一对一的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。如果10个客户机需要相同的数据,则服务器需要逐一传送,重复...

2016-11-12 11:12:52

阅读数:456

评论数:0

fcntl 和 ioctl

一、fcntlfcntl 函数用于执行各种描述符控制操作;/* 返回值:成功取决于cmd,失败返回-1; * 定义: */ #include <fcntl.h> int fcntl(int sockfd, int cmd, /* int arg */); /* 说明: * 第三个...

2016-11-09 11:04:24

阅读数:1407

评论数:0

Linux Unix域套接字

套接字API多用于网络通信,用于不同主机间进行通信,虽然也可以用于同一主机进程间通信,但是没有Unix域套接字效率高。Unix域套接字用于同一主机进程间通信(即单个主机上客户/服务器通信),提供两种套接字类型字节流套接字(类似TCP)和数据报套接字(类似UDP)。1、Unix域套接字结构#incl...

2016-11-03 21:35:28

阅读数:1784

评论数:0

Linux IO函数

Linux网络编程中,针对套接字读写的函数有很多,下面介绍一些函数的常见用法;这里介绍的函数都是linux系统中的特有函数,与C标准库中的IO函数存在一定的区别。1、read() 和 write()函数    read() 和 write() 函数是Linux中最基本的读写函数,可以用于各种...

2016-11-03 10:07:35

阅读数:544

评论数:0

Linux 主机名服务名地址转换函数

介绍一些linux套接字编程中常见的地址转换等相关函数。 1、gethostbyname, gethostbyaddr   一般来说,网络中使用的地址都是域名地址,这样更加直观可读,需要将地址进行相应的转换来获取实际需要的地址形式。 /* gethostbyname * 返回值:成功则为非...

2016-10-31 11:26:00

阅读数:546

评论数:0

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