- 博客(27)
- 资源 (5)
- 收藏
- 关注
原创 中序非递归遍历二叉树
中序遍历二叉树,即是先遍历左子树,再访问根节点,最后遍历右子树,这个顺序对于每棵子树都是一样的,是访问子树的共性,故可依次顺序设置循环,逐一访问每个结点。对于每一个树的子树,均要完成此操作。故在开始遍历之时,应先找到最左边的结点,遍历应从此开始。访问完此结点,应逐一访问此结点的根结点和右子树。 有点难度的第一是找最左节点。方法是从树的根结点顺lchild而下直到NULL为止。二是访问完根节
2012-06-28 16:00:21 1244
原创 inux下运行C程序
inux下运行C程序root@localhost root]# vi hello.c进入vim的命令模式,按下键盘的i切换到插入模式,输入如下代码:#include int main(){ printf("Hello! This is our embeded world!\n"); return 0;}按下Esc进入
2012-06-27 09:45:15 675
原创 C++类构造函数初始化列表
构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。例如:class CExample {public: int a; float b; //构造函数初始化列表 CExample(): a(0),b(8.8) {} //构造函数内部赋值 CExampl
2012-06-25 19:02:11 516
原创 递归算法学习———汉诺塔
由来:汉诺(Hanoi)塔问题:古代有一个梵塔,塔内有三个座A、B、C,A座上有64个盘子,盘子大小不等,大的在下,小的在上(如图)。有一个和尚想把这64个盘子从A座移到B座,但每次只能允许移动一个盘子,并且在移动过程中,3个座上的盘子始终保持大盘在下,小盘在上。在移动过程中可以利用B座,要求打印移动的步骤。假设有n片,移动次数是f(n).显然f(1)=1,f(2)=3,f(3)=7,且f
2012-06-21 10:18:32 2882
原创 Linux命令中的常用符号解释
一、通配符:" * ” 、" ? ” 和DOS下一样,当我们不知道确切的文件名时,可以用通配符来进行模糊操作。“*”可以代表任意长度的任意字符,“?”代表一个任意字符。二、转义字符:" \ ” 和DOS的命名规则不同的是,通配符" * ”、" ? ”是可以在文件名中使用的。 如果要操作的文件名中包含有这些特殊符号,我们可以结合“\”来表达。下面是通配符和正则表达式的一个简短列
2012-06-20 10:24:54 773
原创 物理内存 swap 页面调度
1:实际内存实际内存是指一个系统中实际存在的物理内存,称为RAM。实际内存是存储临时数据最快最有效的方式,因此必须尽可能地分配给应用程序,现在的RAM的形式有多种:SIMM、DIMM、Rambus、DDR等,很多RAM都可以使用纠错机制(ECC)。2:交换空间swap交换空间是专门用于临时存储内存的一块磁盘空间,通常在页面调度和交换进程数据时使用,通常推荐交换空间的大小应该是物理内存的
2012-06-20 10:07:58 1147
原创 C/C++基本数据类型
学了C然后C++,然后MFC/Windows,然后是C#,其中数据类型很多,由基本类型衍生的typedef类型也N多。熟知基本数据类型是我们正确表达实际问题中各种数据的前提,因此我分类总结了一下C/C++/Windows /C#基本数据类型,以便日后查阅。 ANSIC/C++基本数据类型:TypeSize数值范围
2012-06-19 21:56:05 505
原创 几种进程间的通信方式
# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共
2012-06-19 18:27:52 611
原创 txt在ubantu下为 乱码的解决
1.终端输入gconf-editor调出gconf-editPS:输入gconf-editor即可,前面不需要加Sudo依次点开apps->gedit-2->preferences->encodings 中的auto-detected在双击弹出对话框中加入GB18030,GBK,GB2312,然后将GB18030,GB2312移到最上再次打开.txt文件,问题是不是解决了?
2012-06-19 09:43:08 650
原创 WireShark抓包的pcap文件格式分析
在拆包的过程中,我们必须要对WireShark截获的数据包的格式(即.pcap后缀的文件)有很清楚的了解,所以就把今天所学记录下来,以飨后来者。一、结构体说明pcap.h里定义了文件头的格式struct pcap_file_header { bpf_u_int32 magic; u_short version_major; u_
2012-06-18 14:07:52 5818
原创 简洁的Pcap文件格式--Wireshark
突然有个需求,要对类似Wireshark生成的各种数据包文件进行分析和操作,看了一下觉得pcap文件的组织方式还真简洁。这里顺便贴一下。 网络抓包、协议分析的强大的软件Ethereal,由自由软件发展而来,由于众多爱好者的不断完善和添加网络协议模块,现在已经能够支持几乎所有常见的网络协议数据的分析。现在Ethereal改称Wireshark了,目前最新版本已经支持在无线局域网抓包了。
2012-06-18 13:45:58 1837
原创 C语言解析pcap文件得到HTTP信息实例(原创,附源码)
程序功能为解析由Wireshark生成的pcap文件。实现步骤:1)用Wireshark软件抓包得到test.pcap文件2)程序:分析pcap文件头 -> 分析pcap_pkt头 -> 分析帧头 -> 分析ip头 -> 分析tcp头 -> 分析http信息#include#include#include#include#include#define BUFSIZE 10
2012-06-18 13:45:25 10173 4
转载 wireshark源代码分析
经过多次尝试,终于在windows上成功编译wireshark源代码,但用的不是下面的这个步骤,不过大同小异,我的是vs2005,所以用的:http://blog.csdn.net/alexander_vc/article/details/6198836 的方法。1.2.7版的wireshark的capture_if_details_dlg_win32.c对vs2005有bug,需要下载更
2012-06-18 13:41:56 2189
原创 STL erase操作
STL中的容器都有erase方法,容器的存储分为顺序存储(如vector)与链式存储(如list,map)。先以map为例:typedef std::map TStrMap;typedef TStrMap::iterator TStrMapIter;TStrMap strmap;TStrMapIter iter = strmap.find("somekey");strmap.era
2012-06-07 14:30:37 592
转载 彻底搞定C指针:指向指针的指针
一. 回顾指针概念:早在本系列第二篇中我就对指针的实质进行了阐述。今天我们又要学习一个叫做指向另一指针地址的指针。让我们先回顾一下指针的概念吧!当我们程序如下申明变量:short int i;char a;short int * pi;程序会在内存某地址空间上为各变量开辟空间,如下图所示。内存地址→6 7 8 9 10 11
2012-06-05 15:50:29 514
原创 内存泄漏(memory leak)
1. 什么是内存泄漏(memory leak)? 指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。2. 对于C和C++这种没有Garbage Collection 的语言来讲,我们主要关注两种类型的内存泄漏: 堆内存泄漏(Heap leak)。
2012-06-05 15:32:32 820
转载 strcmp函数实现及分析
最近看C,看到strcmp函数,对它的实现原型不很清楚,于是到网上搜。网上算法一大堆,看了很多代码后自己做了一下总结 strcmp函数是C/C++中基本的函数,它对两个字符串进行比较,然后返回比较结果,函数形式如下:int strcmp(const char* str1, const char* str2);其中str1和str2可以是字符串常量或者字符串变量,返回值为整形。返回结
2012-06-04 13:55:10 1193
转载 从零开学MYSQL (六)(MYSQL的安装 )
MYSQL的安装 到官方网站下载MySQL-client-5.5.22-1.linux2.6.i386.rpm MySQL-server-5.5.22-1.linux2.6.i386.rpm,安装。 SERVER的文件说明: /usr/share/mysql: 配置文件 /var/lib/mysql: 数据文件 /etc/rc.d/init.d/mysql:启动脚本
2012-06-04 12:22:45 940
转载 从零开学MYSQL (五)
总结一下,如有不对请指正: mysql的架构,参考官方文档中的图。 内存部分: 连接池:连接管理。 sql接口:存储procedure,view,trigger的编译后的代码,以及解析后的sql代码 解析器:解析sql 优化器:优化sql,信息统计 cache和buffer 管理和通用部分:备份,恢复,安全,复制,集群,管理,配置,移植,元数据。
2012-06-04 12:21:49 899
转载 开贴从零开学MYSQL(四)(MYSQL系统架构)
MYSQL系统架构,主要参考一下文档,个人感觉讲的很好,分享: 参考文档:http://blog.csdn.net/tianlesoftware/article/details/7029112 mysql可看成是二层架构SQL Layer+Storage Engine Layer。SQL Layer包括权限判断,sql 解析,执行计划优化,querycache 的处理等;S
2012-06-04 12:12:36 1032
转载 开贴从零开学MYSQL (三)(MYSQL与ORACLE的对比)
MYSQL与ORACLE的简单对比,参考文档来源百度文库。 由于之前对oracle相对了解,因此重点学习了与oracle的对比。 MYSQL与ORACLE的对比: 1. 应用场景: Oracle应用在银行,电信,财务,ERP等。Mysql应用在中小型系统,互联网高并发的web应用。 2. 数据库对象。 数据库名、表名大小写mysql敏感,orac
2012-06-04 12:10:55 1149
转载 从零开学MYSQL(二)(特性+存储引擎+架构)
1. Mysql特性: 特性: 使用C和C++编写 提供用于管理、检查、优化数据库操作的管理工具 >> 管理工具是什么呢?基于WEB的?待后续确认。 可以处理拥有上千万条记录的大型数据库 >> 看大家的使用情况,上亿条应该都不成问题。单表最大容量大约多少比较合适呢? 支持多种存储引擎 >>貌似存储引擎是重点 不足: 规模小。 功能有限(M
2012-06-04 12:10:04 1680
转载 从零开学MYSQL(一)
1.首先查看百度百科总体了解mysql http://baike.baidu.com/view/24816.htm 2.初步的学习计划这么考虑: 学习周期:第一周期暂定3个月。5.23-8.23 学习目标:通过三个月的学习,让大家成为mysql的初级专家 学习时间:我大约每天花1个小时左右的时间(周末不计),大家可根据自己情况安排。 学习计划:目前是前期了解阶段
2012-06-04 12:07:55 781
原创 深入理解C++中的mutable关键字
mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。 在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。 我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面
2012-06-03 13:35:02 569
转载 澄清P问题、NP问题、NPC问题的概念
这或许是众多OIer最大的误区之一。你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清了。下面的内容都是在讲什么是P问题,什么是NP问题,什么是NPC
2012-06-01 15:37:43 893
转载 ASCII码文件和二进制码文件
从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。 ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:ASC码: 00110101 00110110 00110111 00111000 ↓ ↓ ↓ ↓十进制码: 5 6 7 8
2012-06-01 14:02:08 1535
转载 [[面经]]广移,纯干货
对移动通信的理解 a. 通信双方有一方或两方处于运动中的通信。包括陆、海、空移动通信。采用的频段遍及低频、中频、高频、甚高频和特高频。移动通信系统由移动台、基台、移动交换局组成。 b.移动通信系统从20世纪80年代诞生以来,到2020年将大体经过5代的发展历程,而且到2010年,将从第3代过渡到第4代(4G)。未来几代移动通信系统最明显的趋势是要求高数据速率、高机动性和无缝隙漫游。实现这些
2012-06-01 09:46:22 2272
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人