摘要: 众所周知非常著名的斐波那契数列1,1,2,3,5,8,13,21.....看一个题目:一对新生的兔子,第一个月无生殖能力,满两个月之后(即第三个月开始)每月都能生一对兔子,问n个月后,共有多少兔子?解析:n=1时,有 1 只兔子 n=2时,仍然只有 1 只兔子,不过这一对兔子具有了生殖能力,开始怀胎,第三个月一开始就能生了。。。 n=3时,就有 2 只兔子, n=4时,就有 3 只兔子 n=5时,就有 5 只兔子 ...显而易见,这与斐波那契数列是完全对应的,实际上斐波那契数列就是这么来的吧。。。道理很简单,但是怎么去正确的理解就是个问题了。。。举个例子吧,假设,n的取值是从1月份到2月份。。 阅读全文
posted @ 2013-06-30 13:27 Air Support 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 递归问题实际上是入栈出栈的一个过程,但有时候也会比较难理解,虽然用起来是比较方便的。 1 #include 2 #include 3 using namespace std; 4 #define SECONDS_PER_YEAR 365*24*3600 5 void move(int n, char a, char b) 6 { 7 cout">num;26 hanio(num,'A','B','C');27 system("pause");28 return 0;29 }解释一下上图,n=3时,会把h(2,1 阅读全文
posted @ 2013-06-30 09:37 Air Support 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 对于字符串的存储有多种形式,下面来看一下。上代码: 1 #include 2 #include 3 using namespace std; 4 5 int main() 6 { 7 char *s="ABCDE";//是将一个字符串常量赋值给一个指针变量 8 char s1[]={"ABCDE"}; 9 //char s[5]={"ABCDE"};10 char s2[6]={"ABCDE"};11 char s3[5]={'A','B','C','D 阅读全文
posted @ 2013-06-30 09:08 Air Support 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 给定两个有序的数组,试将其合并后的数组打印出来。。。#include#include#includeusing namespace std; void arr_merge(int arr1[], int arr2[], int n1, int n2){int arr[200];int i=0;int j=0;int k=0;while((i>n1;for(int i=0;i>a1[i];}cout>n2;for(int i=0;i>a2[i];}sort(a1,a1+n1);sort(a2,a2+n2);arr_merge(a1, a2, n1, n2);system( 阅读全文
posted @ 2013-06-29 13:23 Air Support 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。经常在网络上看到有的XDJM问“多进程好还是多线程好?”、“Linux下用多进程还是多线程?”等等期望一劳永逸的问题,我只能说:没有最好,只有更好。根据实际情况来判断,哪个更加合适就是哪个好。我们按照多个不同的维度,来看看多线程和多进程的对比(注:因为是感性的比较,因此都是相对的,不是说一个好得不得了,另外一个差的无法忍受)。看起来比较简单,优势对比上是“线程 3.5 v 2.5 进程”, 阅读全文
posted @ 2013-06-23 23:36 Air Support 阅读(189) 评论(0) 推荐(0) 编辑
摘要: ###用简单的例子说明, 你如果想同时拨电话给 A, B,那么可以这么做.用两个电话, 分别拨出,然后分别对他们说话 -- 多线程设计,线程共享全局数据###找小张,小王,让他们分别打电话给A,B -- 多进程设计,多进程的数据是完全隔离,必须通过进程间通信,解决数据共享的问题.进程比线程更健壮稳定,但是设计更为复杂. 多线程很容易同步状态,相当于一个人同时处理多个任务, 多进程难度就比较高,相当于团队管理. UI中线程运用较多. 高性能服务设计当中,只用进程,因为隔离度高.比如Oracle/msqlserver 都有专门的进程负责读写,专门的进程负责记录日志,专门的进程负责网络连接.... 阅读全文
posted @ 2013-06-23 23:30 Air Support 阅读(327) 评论(0) 推荐(0) 编辑
摘要: OSI参考模型 谈到网络不能不谈OSI参考模型,虽然OSI参考模型的实际应用意义不大,但其对于理解网络协议内部的运作很有帮助,也为我们学习网络协议提供了一个很好的参考。在现实网络世界里,TCP/IP协议栈获得了更为广泛的应用。 1.1 OSI参考模型的分层结构 OSI参考模型(OSI/RM)的全称是开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM),它是由国际标准化组织(International Standard Organization,ISO)提出的一个网络系统互连模型。 OSI参考模型采用... 阅读全文
posted @ 2013-06-23 16:30 Air Support 阅读(702) 评论(0) 推荐(0) 编辑
摘要: TCP/IP四层模型TCP/IP参考模型 ISO制定的OSI参考模型的过于庞大、复杂招致了许多批评。与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用。如图2-1所示,是TCP/IP参考模型和OSI参考模型的对比示意图。图2-1 TCP/IP参考模型 2.1 TCP/IP参考模型的层次结构 TCP/IP协议栈是美国国防部高级研究计划局计算机网(Advanced Research Projects Agency Network,ARPANET)和其后继因特网使用的参考模型。ARPANET是由美国国防部(U.S.Department of Defense,DoD)赞助... 阅读全文
posted @ 2013-06-23 16:28 Air Support 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 程序开发过程:编辑------>编译------->连接--------->执行.cpp .obj .exe源程序 目标程序 可执行程序程序编译的过程: 翻译程序总体过程: 源程序------------> 目标程序翻译程序有:汇编程序,编译程序,解释程序.汇编程序是将汇编语言写成的源程序翻译成机器语言形式的目标程序(二进制文件)编译程序是将用高级语言写成的源程序翻译成机器语言形式的目标程序。解释程序同样是将高级语言源程序翻译成机器指令,与编译程序的不同是,边翻译编执行,即输入一句,翻译一句,执行一句,直至整个源程序翻译并执行完毕。值得注意的是,解释程序不产生整个目标程 阅读全文
posted @ 2013-06-23 16:19 Air Support 阅读(902) 评论(0) 推荐(0) 编辑
摘要: 一. 简答题1. 写出c语言的编译过程.2.TCP/IP 协议的四层结构是什么3.解释一下线程/进程,分别写出应用到进程/线程模型的场景及其优缺点,写出两个应用进程/线程模型的开源产品二. 算法程序设计1.某公司使用 'a-z', '0-9'字符中的任意三个字符作为密码,试设计算法,列出所有的情况.2.试设计字符串反转的算法.3.如果一个数是4的N次方,则返回N(N>0),否则返回-1三. 系统设计一个数据库有100w条记录,记录的字段形式如下:姓名 | 描述张三| 爱打篮球, 酷爱编程...李四 | 喜欢篮球, 喜欢旅游......其中姓名字段不多于4个 阅读全文
posted @ 2013-06-23 13:16 Air Support 阅读(245) 评论(0) 推荐(0) 编辑