自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (7)
  • 收藏
  • 关注

转载 标准模板库(STL)使用入门(上)

标准模板库(STL)使用入门(上)或许你已经把 C++ 作为主要的编程语言用来解决 TopCoder 上的问题。这意味着你已经简单使用过了 STL,因为数组和字符串都是作为 STL 对象传递给函数。也许你已经注意到了,很多程序员写代码比你快得多,也更简洁。或许你还不是但想成为一名 C++ 程序猿,因为这种编程语言功能很强大还有丰富的库(也许是因为在 TopCoder 的练习

2015-06-30 20:17:47 736

原创 二叉搜索的算法

四道在旋转数组中找最小值和 特定值的问题。在两个有序数组中找中值的问题,leetcode 4

2015-06-25 17:01:54 420

转载 二叉树的递归算法

(一)问题描述1.求二叉树的层次(高度)2.求二叉树的叶子个数3.求二叉树的总结点个数4.求二叉树的度为1的结点个数5.求二叉树的度为2的结点个数6.复制二叉树7.交换二叉树的左右子树8.利用先序和中序序列建立二叉链表存储的二叉树9.判定二叉树是否为完全二叉树10.判定两棵二叉树是否相似(二)基本要求1.用二叉链表的形式存储二叉树2.利用C的图形

2015-06-23 19:43:14 941

转载 C++算法之——常用算法总结

基本的C++算法分为三类:排序算法、树算法、图算法算法思想有三种:递推、分治、动态规划 以及 贪心算法。本文将简要介绍上面三类算法,介绍时穿插介绍算法思想。一、排序算法1、基本O(n^2)排序算法: (对基本排序算法的时间复杂度分析主要考虑  比较次数、数据交换次数)冒泡排序:针对数组、本地排序、需要交换数据。O(1)额外空间选择排序:一般针对数组、

2015-06-23 19:35:08 11621 2

转载 二叉树基本操作的程序实现

二叉树基本操作的程序实现//Bintree.h#include#includetypedef struct Binnode{//二叉树结点结构体    char data;    struct Binnode *lchild;    struct Binnode *rchild;  };typedef Binnode *Bintree ;typedef st

2015-06-23 19:26:51 521

原创 动态规划--小结

一、动态规划1. 铁条切割定义:r[n]表示n长的铁条最大收益      p[i]表示i长的铁条收益问题最优子结构:r[j]=max(p[k],r[j-k]),k核心代码:for(int j=1;j { for( int k=1;k  {  max=p[j]; temp= p[k]+r[j-k];if(max     max=temp;}

2015-06-23 16:15:50 409

转载 UNIX进程间通讯(IPC)简介

所谓进程间通讯,顾名思义,就是在2个(多数情况下)或多个进程间传递信息。方法大致如下几种:1、 文件(file),匿名管道(anonymous pipe),命名管道(named pipe),信号(signal).2、 System V IPC 包括消息队列(message queue),共享内存(shared memory),信号量(semaphore)。这种形式的ip

2015-06-13 10:17:58 412

转载 select, iocp, epoll,kqueue及各种I/O复用机制

首先,介绍几种常见的I/O模型及其区别,如下:blocking I/Ononblocking I/OI/O multiplexing (select and poll)signal driven I/O (SIGIO)asynchronous I/O (the POSIX aio_functions)blocking I/O 这个不用多解

2015-06-13 08:44:01 404

转载 select、poll、epoll的比较

linux提供了select、poll、epoll接口来实现IO复用,三者的原型如下所示,本文从参数、实现、性能等方面对三者进行对比。 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);int poll(struct po

2015-06-12 19:46:32 383

转载 epoll和select区别

先说下本文框架,先是问题引出,然后概括两个机制的区别和联系,最后介绍每个接口的用法一、问题引出 联系区别问题的引出,当需要读两个以上的I/O的时候,如果使用阻塞式的I/O,那么可能长时间的阻塞在一个描述符上面,另外的描述符虽然有数据但是不能读出来,这样实时性不能满足要求,大概的解决方案有以下几种:1.使用多进程或者多线程,但是这种方法会造成程序的复杂,而且对与进程与线程的创

2015-06-12 15:54:52 512

转载 深入理解Linux守护进程

深入理解Linux守护进程Linux服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。提供这些服务的程序是由运行在后台的守护进程(daemons)来执行的。守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引导装入时启动,在系统关闭时终止。linu

2015-06-12 11:14:27 698

转载 编程之美----2.21 只考加法的面试题

题目:我们知道:1+2=3;             4+5=9;             2+3+4=9;等式左边都是两个以上连续的自然数相加,那么是不是所有的整数都可以写成这种形式呢?问题1. 写一个程序,对于一个64位正整数,输出它所有可能的连续自然数(两个以上)之和的算式;问题2. 有的数例如32就找不到这样的表达,这样的数字有什么规律?问题

2015-06-12 00:33:12 414

转载 编程之美——2.20 程序理解和时间分析

最近在看《编程之美》,为找工作面试做准备。该书中2.20程序理解和时间分析一题没有给出解答,所以简单写一下我自己的答案。题目如下:阅读以下C#代码,回答问题: [csharp] view plaincopyusing System;  using System.Collections.Generic;  using Syste

2015-06-12 00:28:14 423

转载 [转]UNIX文件系统:硬链接与符号链接

[转]UNIX文件系统:硬链接与符号链接 UNIX目录中有2中类型的链接——硬链接和符号链接。硬链接本身就是一个目录项,(比如文件名+索引节点号),可以将文件名与文件的位置关联起来;符号链接也称软链接,是指存储了一个字符串的文件。这个字符串可以在路径名解析的过程中,用于修改路径名。---------------------------------------------------

2015-06-08 17:08:11 751

转载 C中的内存分配释放函数

内存分配释放函数:1.    malloc函数向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C/C++规定,void* 类型可以强制转换为任何其它类型的指针。原型:extern void *malloc(unsigned int num_bytes);头文件:在TC2.0中可以用malloc.h或 all

2015-06-06 15:39:02 1977

转载 浅析C++中this指针

有下面的一个简单的类:class CNullPointCall{public:    static void Test1();    void Test2();    void Test3(int iTest);    void Test4();private:    static int m_iStatic;    int m_iTest;};

2015-06-06 11:40:09 714

转载 Linux 面试题

一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 。 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。 3. Linux文件系统中每个文件用 i节点 来标识。 4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。 5. 链接分为: 硬链接 和 符号链接 。 6. 超级块包含了i节点表 和 空闲

2015-06-06 10:45:29 373

转载 C++多线程编程

一直对多线程编程这一块很陌生,决定花一点时间整理一下。os:ubuntu 10.04  c++1.最基础,进程同时创建5个线程,各自调用同一个函数[html] view plaincopyprint?#include iostream>  #include pthread.h> //多线程相关操作头文件,可移植众多平台    using namespace 

2015-06-05 15:23:04 397

转载 字节对齐

一、什么是字节对齐一个基本类型的变量在内存中占用n个字节,则该变量的起始地址必须能够被n整除,即: 存放起始地址 % n = 0,那么,就成该变量是字节对齐的;对于结构体、联合体而言,这个n取其所有基本类型的成员中占用空间字节数最大的那个;内存空间是以字节为基本单位进行划分的,从理论上讲,似乎对任何类型的变量的访问都可以从任何地址处开始,但实际情况是在访问特定类型变量的时候经常是从特定的内

2015-06-05 10:29:19 293

转载 TCP/IP--------HTTP协议详解,长连接 ,短连接

HTTP协议即超文本传输协议,这个协议详细规定了浏览器和万维网之间互相通信的规则。HTTP协议就是一个通信的规则,通信规则规定了客户端发送给服务器的内容格式,也规定了服务器发送给客户端的内容格式。其实我们要学的就是这两种格式。客户端发送给服务器的格式叫做请求协议,服务器发送给客户端的叫做响应协议。一、请求协议请求协议的格式如下:请求首行;请求头信息;空行

2015-06-04 20:46:01 2285

转载 TCP/IP-------MTU、MSS、分片

这个问题在前面有的部分已经涉及,这里在重新总结下。主要参考UNIX网络编程。(1)数据报大小IPv4的数据报最大大小是65535字节,包括IPv4首部。因为首部中说明大小的字段为16位。IPv6的数据报最大大小是65575字节,包括40字节的IPv6首部。同样是展16位,但是IPv6首部大小不算在里面,所以总大小比IPv4大一个首部(40字节)。(2)MTU许多网络有一

2015-06-04 16:31:52 3470

转载 Unix网络编程API

Unix网络编程API1.字节序函数#include uint16_t htons(uint16_t host16bitvalue);uint32_t htonl(uint32_t host32bitvalue);返回:网络字节序值uint16_t ntohs(uint16_t net16bitvalue);uint32_t ntohl(uint32

2015-06-04 15:16:44 682

转载 C++ Socket编程步骤

C++ Socket编程步骤 sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。服务器端编程的步骤:1:加载套接字库,创建套接字(WSAStartup()/socket());2:绑定套接字到一个IP地址和一个端口上(bi

2015-06-04 11:14:26 373

转载 TCP/IP-----FTP缺点

文件传输协议(FTP)有一个漫长的演化史,是互联网上最重要的应用之一,但时至今日,却已江河日下。本文作者从各方面列举了一些文件传输协议(FTP)为人诟病的缺点。1.数据传输模式不合理不考虑文件自身的内容,一味使用ASCII模式传输数据是不合理的。文件传输协议(FTP)应该具有自动检测功能,当然用户也可以进行自定义。虽然现在许多Linux和Windows客户端已经支持自动传输模式,但多达

2015-06-04 10:39:01 1469

转载 Socket编程-----基础

Socket的概念:Socket,即套接字,用于描述地址和端口,是一个通信链的句柄。应用程序通过Socket像网络发出请求或者回应。什么事客户/服务器模式:在TCP/IP网络应用中,通信的两个进程相互作用的主要模式是客户/服务器模式,即客户端向服务器发出请求,服务器接收请求后,提供相应的服务。客户/服务器模式的建立基于以下两点:1:建立网络的起因是网络中软硬件资源、

2015-06-04 09:10:06 428

转载 C++ 智能指针详解

C++ 智能指针详解 一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_p

2015-06-03 21:31:12 200

转载 TCP/IP------DNS、http、Telnet

DNS查询: 1、在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。 2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。 3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设

2015-06-03 21:25:29 1006

转载 TCP/IP----路由协议(RIP、OSPF、BGP)

路由器要转发数据必须先配置路由数据,通常根据网络规模的大小可设置静态路由或设置动态路由。静态路由配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。缺点是不能自动适应网络拓扑的变化,需要人工干预。动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络。缺点是配置对用户要求比较高,对系统的要求高于静态路由,并将占用一定的网络资源。动态选路协议:

2015-06-03 20:54:04 4490

转载 TCP/IP------ping、traceroute、ICMP、Telnet

ping程序:通过在I C M P报文数据中存放发送请求的时间值来计算往返时间。当应答返回时,用当前时间减去存放在 I C M P报文中的时间值,即是往返时间。 ping –RR 记录路由,每个处理过该数据报的路由器都把它的IP地址放入选项字段。Traceroute程序:得到IP数据报从一台主机传到另一台主机所经过的路由。为什么不用PING程序的RR选项: 1. 因为不是所有的路由器都支持

2015-06-03 20:36:19 1298

转载 TCP/IP-----协议号、端口号、ARP、icmp

协议号是存在于IP数据报的首部的20字节的固定部分,占有8bit.该字段是指出此数据报所携带的是数据是使用何种协议,以便目的主机的IP层知道将数据部分上交给哪个处理过程。也就是协议字段告诉IP层应当如何交付数据。端口的作用是让应用层的各种应用进程都能将其数据通过端口向下交付给运输层,以及让运输层知道应当将其报文段中的数据向上通过端口交付给应用层的进程。端口号存在于UDP和TCP报文的首部,而IP数

2015-06-03 20:15:50 13408

转载 TCP/IP------三次握手、四次挥手、tcp状态转换

一.tcp的三次握手和四次挥手 为什么是三次握手? 1.为了保证连接是全双工的,当我们从发送端向接收端发送第一次握手的tcp数据包时,接收端知道自己的接收和发送端的发送是有效的,然后接收端向发送端返回第二次握手的数据包,发送端就知道自己和接收端是全双工的,但是接收端并不知道自己的发送和发送端的接收是否有效,所以发送端再向接收端发第三次握手数据包,这样接收端和发送端就都知道了通信的连接是全双工的。

2015-06-02 15:49:09 601

转载 TCP/IP------协议头部

2015-06-02 15:21:22 437

C++函数速查

C++函数速查,包含了C++中各类函数的介绍,适合于我们快速查找函数的功能

2014-03-14

JNI技术各类文档

jni详解 JNI设计实践之路 JNI技术手册 Java_JNI_编程进阶 android_jni操作指南

2014-03-14

基于.NET的Google+Earth与地学类精品课程网站的集成

基于.NET的Google+Earth开发,对初学google earth使用的很有帮助

2013-11-14

webservice

AXIS、webservice平台的搭建,以及测例

2013-07-15

c#与sql server远程连接

C# 与SQL server 连接,执行SQL语句 向各种控件导入数据 combobox datagridview listbox等

2013-07-15

R语言入门教程

R语言入门教程,适合R语言初学者的一本教材,普及R的运用好书

2011-11-12

Perl语言入门

适合对perl语言感兴趣的人自学或者作为老师教程

2011-10-20

空空如也

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

TA关注的人

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