09 2012 档案

摘要:1.双亲表示法2.孩子表示法3.孩子兄弟(二叉树)二叉树性质:在二叉树的第i层至多有2i-1个结点深度为K的二叉树至多有2k-1个结点对任何一颗二叉树T,如果其终端结点数为n0,度为2的结点数为n2,那么n0=n2+1具有n个结点的完全二叉树的深度为Llog2nJ+1二叉树的遍历方式:1.前序遍历:若二叉树为空,则空操作返回,否则先访问根节点,然后前序遍历左子树,再前序遍历右子树2.中序遍历:规则是若树为空,则空操作返回,否则从根节点开始(注意并不是先访问根节点),中序遍历根节点的左子树,然后访问根节点,最后中序遍历右子树3.后序遍历:规则是若树为空,则空树返回,否则从左到右先叶子后结点的方式 阅读全文
posted @ 2012-09-25 00:36 Aveen 阅读(323) 评论(0) 推荐(0)
摘要:要求将塔A的盘全部移到C,移动过程中不能将大盘放到小盘的上面。Hanoi Tower的递归算法实现思想为(假设盘数为N)1)当A只有一个盘时(即N = 1),直接将盘移动到C2)当A中有两个或者两个以上的盘时(即N >=2), 先递归地将N-1个盘从塔A移到辅助塔B, 再将剩下的一个盘从塔A移到塔C 最后递归地将N-1个盘从塔B移到塔C递归实现的核心代码如下:hanoi_move( int n, int x, int y, int z ){ if( n==1 ) printf( "%c-->%c\n", x, z );//从X移到Z else { hanoi_m 阅读全文
posted @ 2012-09-24 22:29 Aveen 阅读(256) 评论(0) 推荐(0)
摘要:生成的html看起来没问题,但是多了几个text(各种浏览器中都显示空行)这个问题太郁闷了。最后google了一下,找的了原因:具体说来就是模板中有通过include或者间接的使用了模板文件,而这个模板文件编码是带有BOM格式的utf8,解决的方法就很简单了,用编辑器保存成不带BOM的utf8格式的... 阅读全文
posted @ 2012-09-19 23:34 Aveen 阅读(508) 评论(0) 推荐(0)
摘要:配的真心蛋疼首先,得把静态文件夹如static 单独放在你的app里面,(就是startapp命令建立那个文件夹下)然后,settings.py: STATIC_ROOT =r'E:/Py_workspace/note_site/src/notesite/notesapp/static/'STATIC_URL = '/static/'# Additional locations of static filesSTATICFILES_DIRS = ( r'E:/Py_workspace/note_site/src/notesite/notesapp' 阅读全文
posted @ 2012-09-18 00:13 Aveen 阅读(548) 评论(0) 推荐(0)
摘要:1 # -*- coding: utf-8 -*- 2 3 from datetime import datetime 4 import time 5 6 # 取当前时间,返回string类型 7 now_str = time.strftime("%Y-%m-%d %H:%M:%S") 8... 阅读全文
posted @ 2012-09-17 21:39 Aveen 阅读(233) 评论(0) 推荐(0)
摘要:(1)状态信息的分类:1.从涉及的客户来分:特定于某个客户的状态信息所有客户所共有的状态信息2.从状态信息的生存周期:一次会话内状态信息多次会话间的状态信息(2)状态信息的维护1.返回客服端的HTML文档(基于HTML规范的)作为HTML文档中某个表单内的控件值作为HTML文档中某个超链接等元素所指向的目标URL的一部分(?后面)当用户结束会话后,服务器端返回给客户端的HTML文档将不再存在。因此,这种方法通常只适用于维护特定于某个客户的、一次会话内部的状态信息2.客户端存储文件-Cookie(基于htpp协议)Cookie维护状态信息的过程: 客服端第一次访问服务器端应用程序,此时客户端还. 阅读全文
posted @ 2012-09-17 18:41 Aveen 阅读(320) 评论(0) 推荐(0)
摘要:(1).CGI:1.Web服务器功能的扩展通过调用服务器端的可执行程序来扩展web服务器的功能。CGI就是其中一种简单的、通用的扩展标准2.网关:web服务器作为互联网应用的基础平台,它实质上是一个网关,即介于多种协议之间的程序web服务器由两个部分组成:HTTP守候程序(HTTPd),完成web服务器的基本功能,包括:和客户建立连接;接受客户提交的HTTP请求消息,将HTTP响应消息返回给客户,关闭连接等。狭义的web服务器就是指这个部分各种服务器端应用程序组成:这些应用程序作为HTTPd和其它外部系统之间的中介,完成服务器的扩展功能,平时所说的网关应用程序就是指这个部分3.CGI规范网关应 阅读全文
posted @ 2012-09-17 17:53 Aveen 阅读(606) 评论(0) 推荐(0)
摘要:HTTP协议解决了数据在web客户端和服务器之间的传递的问题HTML解决了Web上数据的表示和展现问题,既实现了静态页面又为活动页面、动态页面奠定了基础客户端脚本利用浏览器提供的DHTML模型实现了活动页面服务器端应用程序实现了动态页面 阅读全文
posted @ 2012-09-17 17:11 Aveen 阅读(189) 评论(0) 推荐(0)
摘要:HTTP应用可分为三种类型:HTTP客户程序 HTTP服务器程序 服务器端应用程序(1).HTTP客户程序可以看做是一种用户代理,它的作用就是代表用户和Web服务器进行交互,以实现下载文档、提交消息等目的典型的HTTP客户程序有:Web浏览器、Web文档下载程序(其用途主要是采用断点续传、多线程下载手段帮助用户快速、高效地从服务器下载资源)、Web Robot(用于信息检索、资源发现等目的而对Web进行遍历,从某个或某些URL开始沿着Web上 的超链接采用深度优先或广度优先的方法来下载所有的Web页面)HTTP客户程序实际上是HTTP协议内容的部分实现,因此要能够开发HTTP客户程序,必须理解 阅读全文
posted @ 2012-09-17 17:07 Aveen 阅读(513) 评论(0) 推荐(0)
摘要:一.消息类型:请求消息Request和响应消息Response二.消息格式:包括一个起始行start-line,零个或多个消息头字段message-header,一个空行CRLF以指示头字段结束,零个或一个消息体message-body请求消息和响应消息的起始行:start-line=Request-Line|Status-Line(1)起始行start-line 请求行:包括一个表示请求方法的字符串,一个表示请求方法所作用资源的标识符Request-URI,所使用的HTTP版本号HTTP-version,以及一个表示请求行结束的回车换行符CRLF,这些字符串之间使用空格作为间隔1.请求方法. 阅读全文
posted @ 2012-09-17 00:50 Aveen 阅读(679) 评论(0) 推荐(0)
摘要:HTTP客户和服务器之间交互的整个过程包括四个步骤:建立连接,发送请求,发送响应,关闭连接1.建立连接:服务器始终在HTTP端口守候客户的连接要求。(详细过程通过套接字来完成)2.发送请求:在客户和服务器成功建立连接后,客户和服务器之间就可以通过各自的套接字来收发数据(详细通过Socket编程接口实现)3.发送响应:详细通过Socket编程接口实现将客户的请求和服务器的响应正确的发送给对方是网络层的任务,而确保客户和服务器能够正确地理解对方传递的消息则是HTTP这一应用层的任务,即HTTP协议要规定客户和服务器双方所发送消息的格式和语义。4.关闭连接 阅读全文
posted @ 2012-09-16 23:43 Aveen 阅读(338) 评论(0) 推荐(0)
摘要:1.直接通信:是一种最简单的通信方式,通过用户代理和源服务器(资源所驻留 的服务器)之间的单个连接来完成2.通过中介的HTTP通信当客户和源服务器之间有一个或多个中介系统时,在HTTP请求/响应链中会出现多个连接,中介有三种形式:代理Proxy、网关Gateway、隧道TunnelProxy:是客户和服务器之间的一种中间程序,它既充当一个服务器,也充当一个客户。Gateway:是两类服务器之间的一种中间程序,它将一类服务器所支持的协议翻译为另一类服务器所支持的协议。与代理不同,网关接受请求就好像它是源服务器,发送请求的客户并没有意识到它正在和网关打交道 ,例如Web E-mail系统Tunne 阅读全文
posted @ 2012-09-16 23:25 Aveen 阅读(892) 评论(0) 推荐(0)
摘要:1.客户/服务器模式2.简单快速HTTP使用单个连接来发送请求和传输文件。每个客户的请求指出了请求的方法以及该方法所作用的资源的地址或路径3.内容协商4.可扩充性如SOAP5.非持久性连接 http1.0, http1.1引入了持久连接6.无状态性 阅读全文
posted @ 2012-09-16 21:56 Aveen 阅读(214) 评论(0) 推荐(0)
摘要:连接Connection:指两个程序之间出于通信的目的而建立的传输层虚拟电路消息Message:HTTP通信中的基本单元。消息通过连接来传送,由结构化的比特流组成,这些比特流必须符合HTTP协议中的语法规定请求Request:HTTP请求消息,通常由客服端向服务器发出响应Response:HTTP响应消息,通常由服务端项客服端发出,以响应客服端的请求消息资源Resource:可以用URI进行标识的网络数据对象或服务,例如文档、应用程序等实体Entity:作为请求或者响应的有效载荷而传输的信息,对于响应消息而言,实体往往是用户需要下载的资源客户Client:为发送请求而建立连接的应用程序用户代理 阅读全文
posted @ 2012-09-16 21:17 Aveen 阅读(327) 评论(0) 推荐(0)
摘要:1.urlparse模块提供操作url字符串的基本功能 urlparse() urlunparse() urljoin()urlparse(urlstr,defProtSch=None,allow_fragments=True)返回一个6元祖(protsch,netloc,path,param,query,frag)urlunparse()与上述方法相反urljoin(baseurl,newurl,allow_fragments=True)2.urllib模块urlib提供了一个高级的web交流库,它的特殊功能是利用web协议下载数据urlib.urlopen(urlstr,postUeryD 阅读全文
posted @ 2012-09-12 23:47 Aveen 阅读(523) 评论(0) 推荐(0)
摘要:命令django-damin.py startproject projectnamemanage.py runserver portmanage.py shellpython manage.py startapp appnamemanage.py sqlall appname//创建model的查询语句manage.py syncdb //创建数据表系统对app有一个约定: 如果你使用了Django的数据库层(模型),你 必须创建一个Django app。 模型必须存放在apps中。project和app之间的区别:一个project包含很多个Django app以及对它们的配置。projec 阅读全文
posted @ 2012-09-12 00:31 Aveen 阅读(262) 评论(0) 推荐(0)
摘要:1.数据库是保存表和其它相关SQL结构的容器常用数据类型: CHAR VARCHAR INTDEC DATE DATETIME BLOG,INTDEC的值不加引号''2.常用命令:CREATE DATABASE dbname;DROP DATABASE dbname;USE dbaname;CREATE TABLE listname(filedname DATATYPE(len) [NOT NULL[ DEFAULT va[AUTO_INCREASE]]]l,...);DESC listname;//查看表的结构DROP TABLE listname;INSERT INTO l 阅读全文
posted @ 2012-09-12 00:25 Aveen 阅读(294) 评论(0) 推荐(0)
摘要:用gcc那要在头上加#include <string.h> 阅读全文
posted @ 2012-09-10 21:26 Aveen 阅读(14194) 评论(0) 推荐(0)
摘要:如果我们需要内存大小为一个变量,其数值只有在程序运行时 (runtime)才能确定动态内存分配(dynamic memory),为此C++ 集成了操作符new 和delete。操作符new的存在是为了要求动态内存。new 后面跟一个数据类型,并跟一对可选的方括号[ ]里面为要求的元素数。它返回一个指向内存块开始位置的指针。其形式为:pointer = new type或者pointer = new type [elements]第一个表达式用来给一个单元素的数据类型分配内存。第二个表达式用来给一个数组分配内存。既然动态分配的内存只是在程序运行的某一具体阶段才有用,那么一旦它不再被需要时就应该被 阅读全文
posted @ 2012-09-10 20:32 Aveen 阅读(217) 评论(0) 推荐(0)
摘要:参数全部是按数值传递的(by value)。也就是说,当我们调用一个带有参数的函数时,我们传递到函数中的是变量的数值而不是变量本身。在函数声明(declaration)中,每一个变量的类型后面跟了一个地址符ampersand sign (&),它的作用是指明变量是按地址传递的(by reference),而不是像通常一样按数值传递的(by value)。当按地址传递(pass by reference)一个变量的时候,我们是在传递这个变量本身,我们在函数中对变量所做的任何修改将会影响到函数外面被传递的变量。 阅读全文
posted @ 2012-09-10 20:16 Aveen 阅读(391) 评论(0) 推荐(0)
摘要:指针void 是一种特殊类型的指针。void 指针可以指向任意类型的数据,可以是整数,浮点数甚至字符串。唯一个限制是被指向的数值不可以被直接引用(不可以对它们使用引用星号*),因为它的长度是不定的,因此,必须使用类型转换操作或赋值操作来把void 指针指向一个具体的数据类型。它的应用之一是被用来给函数传递通用参数:// integer increaser#include <iostream.h>void increase (void* data, int type) {switch (type) {case sizeof(char) : (*((char*)data))++; br 阅读全文
posted @ 2012-09-10 19:40 Aveen 阅读(169) 评论(0) 推荐(0)
摘要:数组的概念与指针的概念联系非常解密。其实数组的标识相当于它的第一个元素的地址,就像一个指针相当于它所指向的第一个元素的地址,因此其实它们是同一个东西int numbers [20];int * p;下面的赋值为合法的:p = numbers;这里指针p 和numbers 是等价的,它们有相同的属性,唯一的不同是我们可以给指针p赋其它的数值,而numbers 总是指向被定义的20个整数组中的第一个。所以,p只是一个普通的指针变量,而与之不同,numbers 是一个指针常量(constant pointer),数组名的确是一个指针常量。因此虽然前面的赋值表达式是合法的,但下面的不是:numbers 阅读全文
posted @ 2012-09-09 21:52 Aveen 阅读(212) 评论(0) 推荐(0)
摘要:type * pointer_name;type 是指针所指向的数据的类型,而不是指针自己的类型int main() { string a="25";//a表示那块地方的别名 string* b=&a;//&仅指地址本身 *b="35";//表示地址指向的那块地方放上了‘35’ cout<<a;cout<<*b; return 0;}//////////////////////int main() { int val1=5,val2=15; int *p1,*p2; p1=&val1; p2=&va 阅读全文
posted @ 2012-09-09 21:44 Aveen 阅读(295) 评论(0) 推荐(0)
摘要:python内部使用引用计数,来保持追踪内存中的对象,python内部记录着所有使用中的对象各多少引用,即引用计数,当对象被创建时就创建了一个引用计数,当对象不再需要时,这个对象的引用计数为0时,它被垃圾回收。引用计数增加的情况:1.对象被创建,即将一个对象赋给一个变量时(变量实际就是对象的一个名字,右边的是一个对象)x=3.142.或另外的别名被创建y=x3.作为参数传递给函数(新的本地引用)foo(x)4.成为容器对象的一个元素lst=[12,"x",x]引用计数减少的情况:1。当变量被赋值给另外一个对象,原对象的引用计数也会自动减1foo="as" 阅读全文
posted @ 2012-09-08 01:05 Aveen 阅读(282) 评论(0) 推荐(0)
摘要:主要是windows下安装MinGW编译环境以及Eclispse编辑器安装CDT,C/C++ Development Tools两大步骤通过网上收集的资料将最终成功的方法总结下一:win7下安装MinGW1.到到http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/上面下载最新的MinGW网上安装程序,Download mingw-get-inst-20120426.exe (662.7 kB),下载完成后运行此程序。2.在安装向导中的第二步选择第二项(选第一项时始终都安不完整,不知道是否是网络的原因)3.第三 阅读全文
posted @ 2012-09-07 23:50 Aveen 阅读(528) 评论(0) 推荐(0)
摘要:1.repr和str的区别repr创建一个字符串,以合法的python表达式的形式来表示值str转换为用户更易理解的形式的字符串,str是一种类型例如print repr(1000L)1000Lprint str(1000L)10002.input 和raw_inputinput会假设用户输入的是合法的python表达式,raw_input会把用户所有的输入当做原始的数据,即字面上的3.None,python中Null对象4.python中布尔值为False的对象有None,False,值为0的数,整型 浮点 长整型0,0.0+0.0j,“”,[],(),{}z没有__nonzero__()方 阅读全文
posted @ 2012-09-06 23:32 Aveen 阅读(505) 评论(0) 推荐(0)
摘要:1.下载并安装所需软件eclipse-SDK-3.5.2-win32.zipjdk-6u7-windows-i586-p.exePyDev 2.2.3.zip解压把features和plugins下的文件复制到Eclipse对应的文件夹下2.设置环境变量新建系统环境变量:变量名:JAVA_HOME 变量值:jdk安装路径,如C:\Program Files\Java\jdk1.6.0_07在Path变量后添加%JAVA_HOME%\bin;新建系统环境变量:变量名:CLASS_PATH 变量值:%JAVA_HIOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 阅读全文
posted @ 2012-09-06 23:14 Aveen 阅读(188) 评论(0) 推荐(0)
摘要:1 class Singleton(object): 2 def __new__(cls,*args,**kw): 3 if not hasattr(cls,"_instance"): 4 orig=super(Singleton,cls) 5 ... 阅读全文
posted @ 2012-09-06 18:22 Aveen 阅读(790) 评论(0) 推荐(0)
摘要:1 ##乘法表 2 3 def MultiplyTable(): 4 for x in range(1,10): 5 for y in range(1,x+1): 6 print "%s * %s = %2s" % (y,x,x*y) 7 8 #求平方 9 def sqrt(n): 10 if n>0: 11 ans=0 12 while ans*ans<n:ans+=1 13 if ans*ans!=n: 14 print "n不是有完全... 阅读全文
posted @ 2012-09-06 17:36 Aveen 阅读(326) 评论(0) 推荐(0)
摘要:1.Python代码的执行由Python虚拟机(解释器主循环)来控制。虽然python解释器中可以“运行“多个线程,但在任意时刻只有一个线程在运行。对Python虚拟机的访问由全局解释器锁来控制。2.避免使用thread模块,而用threading。使用thread时,当主线程结束,所有的线程都会被强制结束掉,没有警告和正常的清楚工作。至少threading模块能确保重要的子线程退出后进程后才退出3.Thread类threading的Thread类.创建线程的三种方法创建一个Thread实例,传给他一个函数创建一个Thread实例,传给他一个可调用的类对象从Thread派生出一个子类,创建该子 阅读全文
posted @ 2012-09-05 11:28 Aveen 阅读(159) 评论(0) 推荐(0)
摘要:Django1.4的wsgi设置有所改变主要参考https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/modwsgi/1.安装httpd-2.2.21-win32-x86-no_ssl.msi2.下载mod_wsgi-win32-ap22py27-3.3.so (http://code.google.com/p/modwsgi/downloads/list)3.将mod_wsgi.so F:\Apache2.2\modules中,然后再httpd.conf中添加LoadModule wsgi_module modules/mod 阅读全文
posted @ 2012-09-05 00:03 Aveen 阅读(1154) 评论(0) 推荐(0)

Top