自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (5)
  • 收藏
  • 关注

原创 编程思想(1)

1.二叉树的序列化和反序列化      序列化即由一串数字构建一棵树,反序列化是遍历一棵树得到一串数字。对于一个节点来说,反序列化既要创建节点的值,又要获得左子树和右子树的序列并递归构建。       树的遍历分为前序遍历、中序遍历和后序遍历。前序遍历和中序遍历一起可以完成得到节点的值,左子树序列和右子树序列。       序列化树就是遍历二叉树。2.二叉树的打印

2016-08-31 09:05:49 266

原创 最低公共祖先问题的求解

1.树的公共祖先问题       首先明确一下这里的公共祖先的概念。所谓公共祖先,就是两节点位于不同分支或者同一分支,最近的公共的父节点(说父节点不太准确,可能是祖父节点等)。       我们先不考虑算法,让我们自己找两个节点的最低公共祖先,我们应该是要按照路径找到两个节点,然后看两条路径的交点。很好,我们自下而上找交点是我们解决问题的思想。       变形1:我们可以从根节点遍历

2016-08-30 21:28:14 870

原创 异或^运算的应用

1.异或运算      关于异或,有两种计算。一是逻辑异或,一是按位异或。所谓逻辑异或就是运算数是true或者false。比如p1=true,p2=true,p1^p2。      按位异或则是将变量转化为二进制,每一位分别异或。相同为0,不同为1。      按位运算如&、|、^优先级位于关系运算符之后,逻辑运算符之前。      好像不经常强调逻辑异或和按位异或,因为两者就是一

2016-08-30 15:17:08 781

原创 堆的实现与应用

1.堆的性质a.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。b.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。       如果以数组表示堆时,向堆中插入元素时,将元素插入数组结尾,然后调节堆,使堆的性质得以满足。       删除时,将最后一个元素赋给第0位置元素,然后不断调整堆,使堆的性质得以满足。       数组与堆联系:堆化数组

2016-08-26 17:18:29 585

原创 STL常用函数

1.map中查找指定键值map.find()

2016-08-26 15:05:20 803

原创 面试总结(tcp/ip、优先级、线程进程)

1、tcp/ip七层协议(1)OSI七层模型OSI中的层 功能 TCP/IP协议族应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet表示层 数据格式化,代码转换,数据加密 没有协议会话层 解除或建立与别的接点的联系 没有协议传输层 提供端对端的接口 TCP,UDP网络层 为数据包选择路由 IP,ICMP,

2016-08-25 21:54:13 1722

原创 归并排序思想应用

今天刷剑指offer第36题,求逆序数。要求时间复杂度尽可能小。先看下我原来的代码。#includeusing namespace std;class Solution {public: int InversePairsCore(vector&data,vector&copy,long start,long end) { if(start>end)

2016-08-25 16:56:09 1036

原创 面试总结(数据库范式、sql优化)

数据库范式       为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。1、第一范式(确保每列保持原子性)     第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。

2016-08-24 22:03:36 1668

原创 面试总结(static、const、define)

1.static         其中.text段保存进程所执行的程序二进制文件,.data段保存进程所有的已初始化的全局变量,.bss段保存进程未初始化的全局变量(其他段中还有很多乱七八糟的段,暂且不表)。在进程的整个生命周期中,.data段和.bss段内的数据时跟整个进程同生共死的,也就是在进程结束之后这些数据才会寿终就寝。一、全局变量        当一个进程的全

2016-08-24 21:53:37 1076

原创 面试总结(数据库索引、B树、B+树)

1.         数据库系统维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。索引的实现通常使用B树及其变种B+树。        创建索引可以大大提高系统的性能。       第一、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。       第二、可以大大加快数据的检索

2016-08-21 22:05:11 9538 2

原创 面试总结(变量初始化、整型数范围)

1. 在全局域中声明的变量会自动初始化为0,如:  double salary; int day;2. 如果变量是在局部域中定义的,或是通过new表达式动态分配的,则系统不会向它提供初始值0,这些对象被认为是未初始化,其值随机。而变量是类对象会通过缺省构造函数自动初始化。3. C++支持两种形式的初始化:a:使用赋值操作符的显示语法形式。如:int ival=1024;b: 隐

2016-08-21 21:14:10 959

原创 LeetCode 198. House Robber

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent house

2016-08-21 15:01:29 383

原创 LeetCode 84. Largest Rectangle in Histogram

Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of largest rectangle in the histogram.Above is a histogram where width o

2016-08-21 09:02:09 395

原创 LeetCode 376. Wiggle Subsequence

A sequence of numbers is called a wiggle sequence if the differences between successive numbers strictly alternate between positive and negative. The first difference (if one exists) may be either pos

2016-08-20 19:41:08 1762

原创 有道笔试之后的自我反省

有道笔试过了两天了,我其实当时就想着写篇文章好好反省下。这个编程题一道题都没AC,如果我要归咎责任,掩人耳目,保留面子,那么我会说第一道题把我卡住了,而且第一题的样例有误。

2016-08-20 09:20:36 1004

原创 linux面试总结

1.删除文件rm 文件名rm -f 文件名:强制删除文件rm -rf 文件名:递归删除文件夹下所有文件

2016-08-16 22:16:04 597

原创 红黑树元素的插入和删除

1.红黑树       平衡搜索二叉树的查询性能很好。(注意:平衡和搜索是两个修饰词。平衡是左右子树高度差不差过1,搜索是对于任一节点来说,左子树所有节点值       重要的性质:       根是黑的,叶节点是黑的。(大部分以null为叶节点)       对于任意节点而言,其到叶节点树尾端(null指针)的每条路径都包含相同数量的黑节点。       如果一个结点是红的,

2016-08-16 21:43:26 1446

原创 Trie树的C++实现

先给出LintCode的题目:实现Trie树Trie树就是字典树,用在搜索引擎如百度搜索词条,还比如说之前DNS域名解析系统搜索根据域名搜索IP。总之,是棵树,根据字符串搜索某一节点,同时就可获得节点存储的信息了。Trie树的一般性质如下:    1.根节点不包含字符,除根节点外每一个节点都只包含一个字符。    2.从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符

2016-08-16 21:06:58 1546 3

原创 STL常用算法

1.copy()函数int myints[]={10,20,30,40,50,60,70};std::vectorint> myvector (7);std::copy ( myints, myints+7, myvector.begin() );将一个容器中的元素复制到另一个容器中2.count()函数int myints[] = {10,20,30,30,20,10

2016-08-16 11:22:29 724

原创 LeetCode 22-Generate Parentheses

Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:[  "((()))",  "(()())",  "(())()",  "

2016-08-16 11:17:41 447

原创 开眼界

1.MySQL OracleOracle一体机2.Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国

2016-08-14 17:25:30 425

原创 STL总结

1.容器如vector、deque、list是线性存储的,它们都是有迭代器的。queue和stack作为容器适配器,没有迭代器的。它们默认使用deque作为底层元素。2.heap不属于STL容器,但是它是优先队列的幕后英雄。heap底层是vector或者array实现的。STL实现了最大堆,这样可以满足优先队列的特性。优先队列也是容器适配器。3.slist是单向列表,它

2016-08-14 16:56:13 742

原创 百度面试(数据库隔离级别、overload、override)

1.  数据库的隔离级别        ACID,是指在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability).        READ UNCOMMITTEDREAD UNCOMMITTED是限制性最弱的隔离级别,因为该级别忽略其

2016-08-13 11:10:41 1427

原创 快速求栈或队列中的最大值

1.队列中最大值

2016-08-13 10:13:43 7930 1

原创 剑指offer(中位数-LeetCode4)

There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).Example 1:nums1 = [1

2016-08-12 10:26:45 1864 1

原创 OJ中字符串输入及相关操作

1.     输入数据方式cin>>a>>b;char a[10];cin.getline(a,5);char a,b,c;cin.get(a);cin.get(b);cin.get(c);输入:ABCD那么a的值为'A',b的值为'B',c的值为'\n\ getline(istream &in, string &s)在头文件中声明了getline函

2016-08-11 17:00:04 2289

原创 string类总结

标准C++中提供的string类得功能是非常强大的,一般都能满足我们开发项目时使用。现将具体用法的一部分罗列如下。要想使用标准C++中string类,必须要包含#include 下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。string和wstring的用法是一样的,以下以string作介绍:string类的构造函数:stri

2016-08-11 15:58:40 744 2

原创 DHCP协议

1.DHCP简介           DHCP的英文全称是:dynamic host configuration protocal,即动态主机配置协议。也就是为我们连进局域网的主机配置IP等参数信息。那么从主机接入局域网开始,配置的流程是什么?       我们的电脑一般都含有DHCP客户端模块,在接入网络之后,就会通过DHCP协议发送数据包寻找DHCP服务器,DHCP服务器是运行服务端软

2016-08-11 15:39:44 893

原创 面试记录

第一次电话面试献给阿里了。虽然只面了20分钟,但之前以为电话面试都没有。总结一下自己的面试表现,并为之后的面试做些指导吧。       先回忆下面试官的问题:       1.介绍一下你最熟悉的项目。       2.网络编程熟悉吗?       3.TCP黏包。       4.虚函数。       5.简述C/C++/C#的区别。       6.你最近看的书。

2016-08-11 10:43:44 736 1

原创 剑指offer(动态规划-LeetCode72)

LeetCode 72:Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)You have the following 3 operations perm

2016-08-11 10:14:36 1363 1

原创 剑指offer(两个栈实现队列)

使用两个栈实现一个队列。       栈是先进后出,队列是后进先出。如果只有一个栈那么是无法实现队列的,但是两个栈完全可以。代码如下:template class Cqueue{public: Cqueue(void); ~Cqueue(void); void appendTail(const T& node); T deleteHead();private: stack

2016-08-10 10:00:33 635

原创 剑指offer(2)

Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.Note: You can only move either down or right at

2016-08-10 09:30:46 491

原创 百度面试(进程调度、调度算法)

一、常见的批处理作业调度算法1.先来先服务调度算法(FCFS):就是按照各个作业进入系统的自然次序来调度作业。这种调度算法的优点是实现简单,公平。其缺点是没有考虑到系统中各种资源的综合使用情况,往往使短作业的用户不满意,因为短作业等待处理的时间可能比实际运行时间长得多。2.短作业优先调度算法(SPF): 就是优先调度并处理短作业,所谓短是指作业的运行时间短。而在作业未投入运行时,并不能知道

2016-08-09 16:48:52 3033 3

原创 百度面试(进程通信、socket)

1.  进程间通信        进程间通信主要包括管道, 系统IPC(包括消息队列,信号量,共享存储), SOCKET.  系统IPC的三种方式类同,都是使用了内核里的标识符来识别. 匿名管道( pipe ):匿名管道是一种半双工的通信方式,通常是在父子进程间使用。 命名管道 (named pipe) :命名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信

2016-08-09 11:09:34 3805

原创 linux进程和会话

1.linux进程       查看进程:ps -eo pid,ppid,cmd       第一个进程:init       其他进程:fork()       进程树:pstree       注意:创建进程时根据fork()函数返回值执行不同的分支,如果为0,则为子进程。这时可以执行自己的程序,在子进程的内存空间中耍起。若为正数则继续执行父进程程序。子程序执行完毕,返回参

2016-08-08 18:38:06 1481

原创 剑指offer(1)

设计一个类,我们只能生成该类的一个实例。       这是考设计模式的一道题,设计模式是面向对象程序设计的编程思想。参考大神的专栏:设计模式。单例模式倒不难,要求是在程序中只允许创建一个对象实例。那么来看第一种解法了。 class Singleton1 { //实现单例模式,单线程可以保证只创建一个instance,但多线程下无法保证 priva

2016-08-08 17:14:45 362

原创 行动星计划

星星之火,可以燎原。自从我有目的有计划以来,执行力80%。我的计划很好,起码很全面。我从中有所收获,有所进步,但也有所不足。       不足之处在于:       1.计划执行力不够。很多计划没有准时完成。如果不改,这有可能会使我遗憾。所以计划一定要尽早完成,而不是及时完成。       2.有些计划浅尝辄止,计划很好,没深入研究就什么都不是。       说一万不如做一

2016-08-08 11:40:20 399

翻译 unix哲学

这些unix的编程哲学很好,我按照自己的理解翻译一下。Write programs that do one thing and do it well.做一件事,并且做好。Write programs to work together.相互合作,一起工作。Write programs to handle text streams, because that is

2016-08-07 15:38:52 892

原创 大数运算-(加、减、乘)

大数其实和一般数字的区别在于大数的存储。一般数字可以用已有类型表示,如int。但是大数动不动100位,这样的话大数用什么存储已然是个问题。我仔细查找了下,大多数要么用char数组,要么用string表示。有大数了,那么它的计算怎么写?和普通四则运算一致。1.加法       以十进制计算符合我们的日常习惯。同时暂且不考虑正负数的问题。那么就以两个正的大数相加为例,类比普通十进制的加法,就是

2016-08-05 10:59:45 1023

原创 TCP及DNS协议(3)

接着UDP和TCP写:1.TCP堵塞控制       网络被称为“信息高速公路”。TCP段被封装成为IP包,在原主机和目标主机之间经过数个路由器进行传送。那么路由器就会发生堵塞。当路由器处理不过来,很可能就会丢包。对于UDP来说,反正我也不可靠,我无所谓。对于TCP来说,我就要维持可靠,我就要重发,我只管我的可靠,不关心你的拥堵。这样很显然,本来拥堵的线路由于TCP的忠贞就更拥堵了。

2016-08-03 13:57:22 944

排序算法总结

排序算法总结

2017-03-22

c-store pdu包

c-store pdu包。

2016-06-04

局域网聊天工具

MFC写的聊天程序,局域网里可以用。

2016-05-31

字符串,排序

输入10个字符串,进行排序并输出.运用的是字符数组来解决问题的。

2014-11-06

成绩统计求平均分,并输出第一名信息

录入10个学生三门课的成绩,求三门课的平均成绩,并输出最高分学生的信息。

2014-11-06

空空如也

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

TA关注的人

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