自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 CentOS之间rsync做文件增量(备份)同步

服务器192.168.0.248:本地服务器47.56.34.2:远程服务器目的将远程服务器数据同步到本地服务器前提两台服务器安装rsync和crontabsyum install -y rsyncyum install -y crontabs设置免密登陆在本地服务器...

2019-07-12 22:55:00 2051

转载 vue+iview兼容IE9以上的解决办法

1. 支持ES6新语法,安装babel-polyfillIE不支持es6语法安装npm install --save babel-polyfill# 或者(下同)yarn add babel-polyfill修改webpack.base.conf.js// 修改之前...

2019-07-12 22:54:00 375

转载 MySQL运行原理与基础架构

1.MySQL基础            MySQL是一个开放源代码的关系数据库管理系统。原开发者为瑞典的MySQL AB公司,最早是在2001年MySQL3.23进入到管理员的视野并在之后获得广泛的应用。 2008年MySQL公司被Sun公司收购并发布了首个收购之后的版本MySQL5.1,该版本引入分区、基于行复制以及plugin API。移除了原有的BerkeyDB引擎

2016-09-24 21:45:42 388

转载 Mysql原理

首先要了解原理。不得不说说。mysql的执行流程。Mysql是一个单进程的服务,对于每一个请求都是用线程来相应的。这就需要一个连接器来处理新用户的请求、相应,以及销毁。        1.客户端请求,服务端(连接器)开辟线程相应用户        2.用户发起SQL语句查询数据库        3.查询缓存:记录用户的SQL查询语句。如果挨次查询同样内容。就返回缓存      

2016-09-24 21:44:58 1236

转载 C++ IO-流控制

关于C++中的流操作内容——文件IO操作流fstream。并会着重讲解C++是如何对文件进行操作的。  文件指存放在外部介质上的数据的集合。大家都知道操作系统是以文件为单位来对数据进行管理的。因此如果你要查找外部介质的数据,则先要按文件名找到指定文件,然后再从文件中读取数据,如果要把数据存入外部介质中,如果没有该文件,则先要建立文件,再向它输入数据。由于文件的内容千变万化,大小各不相同,为

2016-09-24 20:48:57 342

转载 23种设计模式

23种设计模式目录创建型1. Factory Method(工厂方法)2. Abstract Factory(抽象工厂)3. Builder(建造者)4. Prototype(原型)5. Singleton(单例)结构型6. Adapter Class/Object(适配器)7. Bridge(桥接)8. Composite(组合)9.

2016-09-24 20:43:50 230

转载 STL中几种常用容器比较

list支持快速的插入和删除,但是查找费时;vector支持快速的查找,但是插入费时。map查找的时间复杂度是对数的,这几乎是最快的,hash也是对数的。 如果我自己写,我也会用二叉检索树,它在大部分情况下可以保证对数复杂度,最坏情况是常数复杂度,而std::map在任何情况下都可以保证对数复杂度,原因是它保证存诸结构是完全二叉检索树,但这会在存诸上牺牲一些时间。STL

2016-09-23 20:26:55 806

转载 进程的笔记

进程(process)本质上是正在执行的一个程序,是容纳运行一个程序所需要所有信息的容器。与一个进程相关的是进程的地址空间(address space)和进程表(process table)。进程的地址空间包括代码段、数据段、堆栈段。下面画出了进程的三种状态,以及状态之间的切换:在多任务系统中,CPU使用某种调度算法在不同进程间来回快速切换,就好像这几个

2016-09-23 17:01:18 275

转载 线程笔记

各个博客上开来的,杂七杂八的整理了下进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。 “同时”

2016-09-23 15:41:48 290

转载 计算机网络基础3

DNS域名系统是因特网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。DNS 使用 TCP 和 UDP 端口 53任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。因特网的域名系统DNS被设计成一个联机分布式数据库系统,并采用CS方式。采用层次结构的命名树作为主机的名字。许多应用层

2016-09-23 15:23:30 511

转载 计算机网络基础2

运输层主要功能运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。运输层还要对收到的报文进行差错检测。运输层需要有两种不同的运输协议,即面向连接的 TCP 和无连接的 UDP。运输层的两个主要协议UDP 用户数据报协议传送数据之前不需要建立连接,不需要给出任何确认。提供不可靠的服务。TCP 传输控制协议传送数据之前必须建立连接,数据传送

2016-09-23 10:00:39 297

转载 计算机网络基础1

因特网因特网的核心部分是由许多网络和把它们互连起来的路由器组成,而主机处在因特网的边缘部分。路由器(网络层)路由器:实现分组交换的关键构建,在路由器中的输入和输出端口之间没有直接连线(并非面向连接)。任务是转发收到的分组 -- 网络核心部分最重要的功能。路由器收到一个分组,先暂时存储下来,再检查其首部,查找转发表,按照首部的目的地址,找到合适的接口转发出去,把分组交

2016-09-22 22:06:01 728

原创 归并排序

归并排序的思想是将多个有序序列,组合成新的有序表。运用分治法思想解决排序问题。分治法介绍:分治法就是将原问题分解为多个独立的子问题,且这些子问题的形式和原问题相似,只是规模上减少了,求解完子问题后合并结果构成原问题的解。分治法通常有3步:Divide(分解子问题的步骤) 、 Conquer(递归解决子问题的步骤)、 Combine(子问题解求出来后合并成原问题解的步骤)。假

2016-09-21 11:18:26 218

转载 堆排序

堆排序是利用二叉排序树中的父节点和子节点的内在关系,在当前无序序列中选择关键字最大(或者最小)的记录。没空写了,把别人的粘贴来,记得他的代码有个小bug,看原贴的评论里有说http://www.cnblogs.com/mengdd/archive/2012/11/30/2796845.html

2016-09-21 10:45:38 185

转载 TCP/IP的三次握手与四次握手

TCP/IP协议三次握手与四次握手流程解析 一、TCP报文格式  TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图:图1 TCP报文格式  上图中有几个字段需要重点介绍下:  (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。  (2)确认序号:Ack序号,占32位,只有

2016-09-20 20:45:57 267

原创 指针、数组等直观例样

#include#include#includeusing namespace std;int main(){string s1;int n;while (cin >>n){char *s[] = { "azf", "dwg", "hjk" };char**sp = s;cout cout cout cout cout

2016-09-20 20:43:37 270

原创 迷宫-最短路径

华为oj和剑指offer都有相关题型,但针对不同题型会有不同解法,有动态规划取最优解和广度、深度遍历的方法。这里针对华为oj上的原题,以及16年华为大牛专场的笔试题。所求的是地图中的最短路径,但并不是只有一条路径。华为最早的oj题里是只有一条路径,那么用深度遍历是最快捷的。但如果有多条路径,需要就最短路径。还是要用广度遍历。深度遍历无法保证求得最优解。#includ

2016-09-20 20:34:49 872

转载 四则运算

同样还是华为oj上的题,利用栈的思想实现最后算出的数据都只有加减法,没有乘除法。#include#include#include#include#include#includeusing namespace std;void addnum(deque& rec, int pre){if (!rec.empty()){int cur = 0

2016-09-20 20:29:50 295

原创 绕圈拿红包的问题(动态规划)

我记得是美团的笔试题吧,记不清了,原题是n个红包,首尾相连,不能拿相邻的两个,求最多能拿多少钱。这里只处理了3个以上的红包,3个以下,直接取最大那个就可以了。#include #include #include #include#include#include#includeusing namespace std;int main() {int s1

2016-09-20 20:28:45 486

转载 火车站进站

同样是华为oj里的一道题,主要是利用了next_permutation这个函数实现了全排列。#include #include #include #include#include#includeusing namespace std;bool isPop(vector rec, vectorp){if (rec.size() return false;

2016-09-20 20:23:11 475

转载 把M个同样的苹果放在N个同样的盘子里

/*把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。*/#include  using namespace std;int putapples(int m, int n){if (mreturn 0;if (m == 1 || n == 1)retu

2016-09-20 20:18:04 4641

原创 选择排序

选择排序的思想也是将待排序数据分成两部分,未排序部分和已排序部分。方法是,每次在未排序序列中找最小,将其放到排序序列尾部。时间复杂度是n^2,不稳定。void select_sort(vector input, int n){for (int i = 0; i {int k = i;for (int j = i + 1; j

2016-09-20 20:04:45 220

原创 插入排序和希尔排序

插入排序是从将待排列的数组分成两列,待排列的无序区和排列好的有序区;思想就是每次从无序区取出第一个数据插入到有序区的正确位置。时间复杂度是n~n^2,平均是n^2,档大部分数据有序的时候,插入排序的速度会大大提升。是稳定的排序算法。void incert_sort(vector input, int n){for (int i = 1; i {

2016-09-20 19:52:43 171

原创 快速排序的两种实现

只是看到两种快速排序的实现方式,于是记录了下来,欢迎指正时间复杂度都是nlogn~n^2;不稳定的查询方式,平均是nlogn;第一种:void quick(vector input, int start, int end){if (start >= end)return;int i = start + 1;int j = end + 1;int tm

2016-09-20 16:36:56 231

转载 线程同步的几种方法

线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。当多个线程同时读写同一份共享资源的时候,可能会引起冲突。这时候,我们需要引入线程“同步”机制,即各位线程之间要有个先来后到,不能一窝蜂挤上去抢作一团。线程同步的真实意思和字面意思恰好相反。线程同步的真实意思,其实是“排队”:几个线程之间要排队,一个一个对共享资源进行操作,而不是同时进行操作。线程同步的方法(1)wait():使

2016-09-20 16:07:48 251

原创 大数的加减法—C++

#include#include#includeusing namespace std;void sw(string& a){int len = a.size();for (int i = 0; i {char tmp = a[i];a[i] = a[len - 1 - i];a[len - 1 - i] = tmp;}return;}s

2016-09-20 15:58:49 384

转载 华为oj上的购物单问题,背包问题的变种,动态规划

原题可以看华为oj上的购物单问题。牛客上也有#define max(x,y) (x)>(y)?(x):(y)using namespace std;int main(){int N, m;   //N 总钱数  m为购买物品个数int weight[61][3] = { 0 };int value[61][3] = { 0 };whi

2016-09-20 15:58:15 1343

转载 n枚硬币问题,先拿后拿问题,或者像完美世界16年笔试题,打boos的智力游戏

/*有n枚硬币按照0到n-1对它们进行编号,其中编号为i的硬币面额为vi,两个人轮流从剩下硬币中取出一枚硬币归自己所有,但每次取硬币的时候只能取剩下的硬币中编号最小的硬币或者编号最大的硬币,在两个都采用最优策略的情况下,作为先取硬币的你请编写程序计算出你能获得硬币总面额的最大值?(请简述算法原理,时间复杂度并实现具体的程序),语言不限。*/#include#includeusing n

2016-09-20 15:56:47 2621

原创 利用动态规划解决-字符串的匹配问题

也可以找字符串的最大子序列,然后相减即可,但没有验证过。  int main (){     string s1,s2;    while( cin>>s1>>s2)    {        int len1 = s1.size();        int len2 = s2.size();        vector> dp(len1+1, vector(le

2016-09-20 15:53:21 2641

原创 最小生成树

比较适合图中的遍历最小路径 ,这里只有一种方法,是Prim算法实现int main(){int n;while (cin >> n){vector> dic(n,vector(n,0));for (int i = 0; i {for (int j = 0; j {int tmp = 0;cin >> tmp;dic[i

2016-09-20 15:48:23 228

转载 最长公共子串和子序列

//在牛客网上看到的,转了过来,侵权删哈举个栗子:str1="123ABCD456"  str2 = "ABE12345D"最长公共子串是:123最长公共子序列是:12345 这两个都可以用动态规划,只是状态转移方程有点区别 最长公共子序列是:dp[i][j] -- 表示子串str1[0...i]和子串str[0...j]的最长公共子序列当str1[

2016-09-20 10:06:08 263

空空如也

空空如也

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

TA关注的人

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