自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (2)
  • 收藏
  • 关注

转载 进程间通信(IPC)[转载]

进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。一、管道管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。1、特点:它是...

2018-08-31 15:10:20 125

转载 数据结构与算法系列 目录

 最近抽空整理了”数据结构和算法”的相关文章。在整理过程中,对于每种数据结构和算法分别给出”C”、”C++”和”Java”这三种语言的实现;实现语言虽不同,但原理如出一辙。因此,读者在了解和学习的过程中,择其一即可!下面是整理数据数据和算法的目录表,对于每一种按照C/C++/Java进行了划分,方便查阅。若文章有错误或纰漏,请不吝指正。谢谢! 数据结构和算法目录表...

2018-08-30 11:41:38 160

转载 B+树介绍

目录B+树B+树的插入操作B+树的删除操作 回到顶部B+树B+树和二叉树、平衡二叉树一样,都是经典的数据结构。B+树由B树和索引顺序访问方法(ISAM,是不是很熟悉?对,这也是MyISAM引擎最初参考的数据结构)演化而来,但是在实际使用过程中几乎已经没有使用B树的情况了。B+树的定义十分复杂,因此只简要地介绍B+树:B+树是为磁盘或其他直接存取辅助设备而设计的一种平衡查找树,在B+树...

2018-08-29 19:24:44 555

转载 B+树介绍

目录B+树B+树的插入操作B+树的删除操作 回到顶部B+树B+树和二叉树、平衡二叉树一样,都是经典的数据结构。B+树由B树和索引顺序访问方法(ISAM,是不是很熟悉?对,这也是MyISAM引擎最初参考的数据结构)演化而来,但是在实际使用过程中几乎已经没有使用B树的情况了。B+树的定义十分复杂,因此只简要地介绍B+树:B+树是为磁盘或其他直接存取辅助设备而设计的一种平衡查找树,在B+树...

2018-08-29 19:24:41 228

转载 Linux进程管理——fork()和写时复制

写时复制技术最初产生于Unix系统,用于实现一种傻瓜式的进程创建:当发出fork(  )系统调用时,内核原样复制父进程的整个地址空间并把复制的那一份分配给子进程。这种行为是非常耗时的,因为它需要: ·      为子进程的页表分配页面·     &amp

2018-08-29 15:37:08 177

转载 子进程复制了父进程的什么

如果你对代码段、数据段、栈、堆存放哪些数据还不是很清楚,请先看我写和Linux 内存管理。有时会出现父子进程变量的地址一样,但值不一样。看下面代码:#include<stdio.h>#include<string.h>#include<stdlib.h>#include<unistd.h>main(...

2018-08-29 11:19:47 367

转载 linux进程的五个数据段

进 程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途 不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。对任何一个普通进程来讲,它都会涉及到5种不同的数据段。一、Linux进程的五个段下面我们来简单归纳一下进程对应的内存空间中所包含的5种不同的数据区都是干什么的。...

2018-08-29 10:09:24 1245

转载 从地址空间理解fork

Linux Process Address Space high address +---------------+ | | | Stack | int local_b | | ...

2018-08-29 10:07:53 452

转载 gcc/g++编译详解

转载自:https://blog.csdn.net/uisoul/article/details/60135764 GNU CC(简称gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++、Object C、Jave等多种语言编写的程序。gcc又可以作为...

2018-08-28 22:13:52 931

转载 grep命令详解

转载自:https://www.cnblogs.com/wangcp-2014/p/5146335.html1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。2.格式grep [options]3.主要...

2018-08-28 22:03:50 443

转载 find命令参数大全

Linux中find常见用法示例·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; 转载自:https://www.c

2018-08-28 22:01:04 345

转载 linux常用命令大全

作者:蓝藻时间:2018.7.3前言本文特点授之以渔:了解命令学习方法、用途:不再死记硬背,拒绝漫无目的;准确无误:所有命令执行通过(环境为centos7),拒绝复制粘贴;实用性高:命令多为实际工作中用到的,实例讲解,拒绝纯理论;条理清晰:分类归纳,快速找到想要的命令,拒绝天马行空;总结性强:只列常用语法,易错情况强调,拒绝照搬照套。学前须知适用人群:开发、测试、运维文...

2018-08-28 21:47:47 11668 1

转载 STL 容器一些底层机制

转自:https://blog.csdn.net/TQH_Candy/article/details/52387714 1、vector 容器vector 的数据安排以及操作方式,与 array 非常相似。两者的唯一区别在于空间的运用的灵活性。arra...

2018-08-23 16:37:20 167

转载 同一进程中的线程究竟共享哪些资源

转自:https://www.cnblogs.com/baoendemao/p/3804677.html进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如...

2018-08-22 11:54:49 4927

转载 C++中的lower_bound和upper_bound函数

转自:http://bbqub.cnblogs.com/p/7774756.html关于lower_bound和upper_bound共同点函数组成:一个数组元素的地址(或者数组名来表示这个数组的首地址,用来表示这个数组的开头比较的元素的地址,不一定要是首地址,只是用于比较的“首”地址)+ 一个数组元素的地址(对应的这个数组里边任意一个元素的地址,表示这个二分里边的比较的”结尾’地址)...

2018-08-21 23:33:11 1319

转载 C++类中静态变量和静态方法的使用

转自:https://www.cnblogs.com/ppgeneve/p/5091794.html静态成员的提出是为了解决数据共享的问题。实现共享有许多方法,如:设置全局性的变量或对象是一种方法。但是,全局变量或对象是有局限性的。这一章里,我们主要讲述类的静态成员来实现数据的共享。  静态数据成员  在类中,静态成员可以实现多个对象之间的数据共享,并且使用静态数据成员还不会破坏隐藏的原则...

2018-08-20 10:24:27 6918

原创 基数排序

基数排序:基数排序是桶排序的扩展,它的基本思想是:将整数按位切割成不同的数字,然后按每个位数分别比较。具体做法:将所有待比较数值统一为同样的长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序数列。 一、基数排序原理(转自:https://blog.csdn.net/lemon_tree12138/artic...

2018-08-19 19:05:12 137

转载 堆排序

转自:http://www.cnblogs.com/skywang12345/p/3602162.html 概要本章介绍排序算法中的堆排序。目录1. 堆排序介绍2. 堆排序图文说明3. 堆排序的时间复杂度和稳定性4. 堆排序实现4.1 堆排序C实现4.2 堆排序C++实现4.3 堆排序Java实现转载请注明出...

2018-08-19 11:46:58 223

原创 快速与归并排序

快速、归并与堆排序的平均时间复杂度为O(nlog2n),其中归并排序和堆排序的平均、最坏和最好的时间复杂度三者相同都是O(nlog2n),快速排序的最好情况是O(nlog2n),在数组为有序的情况下快速排序达到最坏的情况为O(n2)。其中快速排序和堆排序都是不稳定的,归并排序是稳定的。排序算法稳定,是指能保证排序前2个相等的数在序列的前后位置顺序和排序后他们两个的前后位置顺序相同。即:a=b,...

2018-08-19 10:11:57 190

原创 LeetCode【distinct-subsequences】

思路:(动态规划)a[i][j] 表示T[0,j]在S[0,i]中的匹配个数如果不使用S[i],那么a[i][j] = a[i-1][j]如果使用S[i],那么一定是S[i]==T[j],那么a[i][j] = a[i-1][j-1]故:1、S[i]==T[j]a[i][j] = a[i-1][j]+a[i-1][j-1]2、S[i]!=T[j]a[i][j] = a[i-1][j...

2018-08-18 17:07:33 199

原创 插入、冒泡、选择与shell排序

插入、冒泡与选择这三个排序算法的平均时间复杂度都是O(n^2),插入和冒泡的最优时间复杂度都是O(n),选择排序的最优时间复杂度还是O(n^2),三者最差的时间复杂度都是O(n^2)。其中插入与冒泡排序是稳定的,选择排序是不稳定的。排序算法稳定,是指能保证排序前2个相等的数在序列的前后位置顺序和排序后他们两个的前后位置顺序相同。即:a=b,排序前a在b之前,排序后a还应该在b之前。(相对位置)...

2018-08-17 17:23:09 257

转载 从B树、B+树、B*树到R 树

转自:https://blog.csdn.net/v_july_v/article/details/6530142 从B 树、B+ 树、B* 树谈到R 树 作者:July、weedge、Frankie。编程艺术室出品。说明:本文从B树开始谈起,然后论述B+树、B...

2018-08-17 16:37:47 323

转载 红黑树之原理和算法详细介绍

 概要目录1 红黑树的介绍2 红黑树的应用3 红黑树的时间复杂度和相关证明4 红黑树的基本操作(一) 左旋和右旋5 红黑树的基本操作(二) 添加6 红黑树的基本操作(三) 删除      作者:Sky Wang    于 2013-08-08           &nbs...

2018-08-17 16:07:47 200

转载 二叉树基础知识总结

转自:https://blog.csdn.net/xiaoquantouer/article/details/65631708  一、树的定义树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。 树具有的特点有:(1)每个...

2018-08-17 15:21:49 1454

原创 C与C++中二维数组的动态分配内存方法

最近一直被二维数组的动态内存分配和赋值搞得有点昏,还是记下来,供以后查看。一、C++中动态分配与释放二维数组1、二维都未知#include <iostream>using namespace std;int main(){ int **a = NULL; int Xlength, Ylength; cin >> Xlength ...

2018-08-17 13:22:22 18029 1

转载 二叉树的四种遍历方法笔记

转自:https://www.cnblogs.com/fly-me/p/wei-ti-jiaoer-cha-shu-de-si-zhong-bian-li-fang-fa.html二叉树的遍历(traversing binary tree)是指从根结点出发,按照某种次序依次访问二叉树中所有的结点,使得每个结点被访问依次且仅被访问一次。前序中左右中序左中...

2018-08-16 21:37:56 178

转载 LeetCode【triangle】

转自:https://www.cnblogs.com/grandyang/p/4286274.html**重点内容** Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.For exam...

2018-08-16 13:06:04 156

转载 二叉树的路径与深度的一些问题

转载自:https://blog.csdn.net/alpha_love/article/details/73042637 二叉树的深度###(1)二叉树的最大深度(即根节点到最深叶子节点之间的节点数) int maxDepth(TreeNode *root){ if(roo...

2018-08-15 19:59:42 267

原创 LeetCode【binary-tree-maximum-path-sum】

思路:不断地返回左右子树的两边的最大值,分清最大值和递归函数的返回值。/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL)...

2018-08-15 19:45:43 142

原创 LeetCode【word-ladder】

思路:广度优先搜索;先构造一个字符串队列,并将start加入队列1、对队列头字符串做每个字符替换2、每次替换后,判断是否和end匹配,如果匹配返回答案3、没有匹配,则在字典里面查询是否有邻近字符串4、如果有,则将该字符串加入队列,同时将该字符串从字典里删除5、重复1的过程,直到和end匹配。如果最后队列为空,但还未匹配到,则返回0#include <iostream>...

2018-08-15 12:57:05 113

转载 广度优先搜索BFS和深度优先搜索DFS

转自:https://www.cnblogs.com/0kk470/p/7555033.html**重点内容**前言这几天复习图论算法,觉得BFS和DFS挺重要的,而且应用比较多,故记录一下。广度优先搜索有一个有向图如图a                      ...

2018-08-15 11:12:01 123

转载 C++中基类的析构函数为什么要用virtual虚析构函数

知识背景         要弄明白这个问题,首先要了解下C++中的动态绑定。          关于动态绑定的讲解,请参阅:  C++中的动态类型与动态绑定、虚函数、多态实现正题...

2018-08-14 22:54:17 99

转载 二叉树的一些性质

转载 skywang12345 http://www.cnblogs.com/skywang12345/p/3576328.html树的介绍1. 树的定义树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:(01) 每个节点有零个或多个子节点;(02) 没...

2018-08-14 22:44:05 110

转载 Python拷贝对象(浅拷贝copy与深拷贝deepcopy)

先说一段废话。Python中的参数传递都是对象引用传递,这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值——相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象——相当于通...

2018-08-14 21:22:00 258

原创 LeetCode【longest-consecutive-sequence】

思路:使用hash表来解决这个问题,先初试化一个hash表,存储所有数组元素,然后遍历这个数组,对找到的数组元素,去搜索其相连的上下两个元素是否在hash表中,如果在,删除相应元素并增加此次查找的数据长度,如果不在,从下一个元素出发查找,已经访问过的元素记录下来或者删除class Solution {public: int longestConsecutive(vector&lt...

2018-08-14 20:28:35 134

原创 LeetCode【sum-root-to-leaf-numbers】

思路:二叉树的先序遍历,加上字符串与数字之间的转换/*思路:二叉树的先序遍历*/#include <iostream>#include <sstream>#include <string>using namespace std;struct TreeNode { int val; TreeNode *left; ...

2018-08-14 20:00:08 137

原创 LeetCode【surrounded-regions】

思路:使用dfs判断遍历所有的点,同时在dfs的过程中检查点是否满足要求,并将访问过的点使用数组保存下来,注意返回值通过dfs的参数来返回(这个在深搜递归中挺好用的,如果不能确定何时结束)#include <iostream>#include <string>#include <vector>using namespace std;clas...

2018-08-14 17:18:38 160

原创 LeetCode【palindrome-partitioning-ii】

思路:先尝试使用深度搜索#include <iostream>#include <string>#include <vector>using namespace std;class Solution {public: int minCut(string s) { int res; res = INT_MAX; int resT...

2018-08-14 12:39:07 161

原创 C++ STL之map与unordered_map

mapmap是STL的一个关联容器,它提供一对一(第一个为key,每个key只能在map中出现一次,第二个为value)的数据处理能力。map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),所以在map内部所有的数据都是有序的,且map的查询、插入、删除操作的时间复杂度都是O(logN)。在使用时,map的key需要定义operator<。unordered_mapunord...

2018-08-13 23:00:01 225

原创 LeetCode【palindrome-partitioning】

思路:使用深度搜索(DFS)遍历所有的子串,判断每一个子串是否为回文字符串class Solution {public: vector<vector<string> > partition(string s) { vector<vector<string> > res; vector<strin...

2018-08-13 22:44:13 155

wps加载项适配vue2.x代码

wps加载项适配vue2.x代码

2021-06-26

中景园电子0.96寸OLED显示屏_C51系列_带字库.zip

STM32F103C8T6中景园电子0.96寸OLED显示屏_C51系列_带字库,GT20L16S1Y字库芯片

2020-05-12

空空如也

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

TA关注的人

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