2013年10月28日

二叉树的镜像变换

摘要: 1 #include "stdafx.h" 2 #include 3 using namespace std; 4 5 struct BinaryTreeNode 6 { 7 int m_nValue; 8 BinaryTreeNode *m_pLeft; 9 BinaryTreeNode *m_pRight; 10 }; 11 12 //构造树的镜像 13 void Mirror(BinaryTreeNode *pRoot) 14 { 15 if (pRoot != NULL) 16 { 17 ... 阅读全文

posted @ 2013-10-28 19:11 samules 阅读(251) 评论(0) 推荐(0) 编辑

二叉树的层序遍历(广度优先遍历)

摘要: 1 #include 2 #include 3 using namespace std; 4 5 //树结构 6 struct BTreeNode 7 { 8 int m_nValue; 9 BTreeNode *m_pLeft; 10 BTreeNode *m_Right; 11 }; 12 13 //层序遍历二叉树,即广度优先。 14 void Print(BTreeNode *pNode) 15 { 16 if(!pNode) 17 { 18 return ; 19 ... 阅读全文

posted @ 2013-10-28 19:10 samules 阅读(398) 评论(0) 推荐(0) 编辑

2013年10月14日

SQL注入

摘要: SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,如何防止sql注入式攻击:使用预编译SQL语句;使用SQL参数传值,不拼接SQL;过滤非法字符;使用存储过程,如果实在要使用sql语句,进行语法判断,发现有非正常的sql语法,则提示错误存储过程跟触发器存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。例子:CREATE PROCEDURE order_tot_amt@o_ 阅读全文

posted @ 2013-10-14 14:54 samules 阅读(200) 评论(0) 推荐(0) 编辑

2013年10月9日

linux进程状态

摘要: 父进程和子进程的关系是子进程是父进程的一个副本,创建子进程后,子进程会有自己的空间,然后把父进程的数据拷贝到子进程的空间里。谁先运行是不确定的,父子没有明确的先后顺序子进程退出时,会向父进程发送中断信号,只有父进程处理了信号,子进程的相关资源才会被系统回收fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了“写时复制“技术,也就是只有进程空间的各段的内容要发生变化时,才会将父进程的内容复制一份给子进程。在fork之后exec之前两个进程用的是相同的物理空间(内存区),子进程的代码段、数据段、堆栈都是指向父进程的物理空间,也就是说, 阅读全文

posted @ 2013-10-09 17:38 samules 阅读(517) 评论(0) 推荐(0) 编辑

2013年9月27日

n个元素进栈,共有多少种出栈顺序?

摘要: 我们把n个元素的出栈个数的记为f(n), 那么对于1,2,3, 我们很容易得出: f(1) = 1 //即 1 f(2) = 2 //即 12、21 f(3) = 5 //即 123、132、213、321、231然后我们来考虑f(4), 我们给4个元素编号为a,b,c,d, 那么考虑:元素a只可能出现在1号位置,2号位置,3号位置和4号位置(很容易理解,一共就4个位置,比如abcd,元素a就在1号位置)。分析:1) 如果元素a在1号位置,那么只可能a进栈,马上出栈,此时还剩元素b、c、d... 阅读全文

posted @ 2013-09-27 10:47 samules 阅读(1154) 评论(0) 推荐(0) 编辑

排序算法总结

摘要: 排序算法总结按平均时间将排序分为四类:(1)平方阶(O(n2))排序 一般称为简单排序,例如直接插入、直接选择和冒泡排序;(2)线性对数阶(O(nlgn))排序 如快速、堆和归并排序;(3)O(n1+£)阶排序 £是介于0和1之间的常数,即0<£<1,如希尔排序;(4)线性阶(O(n))排序 如桶、箱和基数排序。各种排序方法比较 简单排序中直接插入最好,快速排序最快,当文件为正序时,直接插入和冒泡均最佳。影响排序效果的因素 因为不同的排序方法适应不同的应用环境和要求,所以选择合适的排序方法应综合考虑下列因素: ①待排序的记录数目n; ②记录的大小(规模); ③关键字的结构及其初.. 阅读全文

posted @ 2013-09-27 10:01 samules 阅读(154) 评论(0) 推荐(0) 编辑

2013年9月11日

Databases Questions & Answers

摘要: Databases Questions & Answers1.What are two methods of retrieving SQL? 2.What cursor type do you use to retrieve multiple recordsets?3.What action do you have to perform before retrieving data from the next result set of a stored procedure?Move the cursor down one row from its current position. 阅读全文

posted @ 2013-09-11 00:20 samules 阅读(214) 评论(0) 推荐(0) 编辑

SQL语句

摘要: Student(S#,Sname,Sage,Ssex) 学生表S#:学号;Sname:学生姓名;Sage:学生年龄;Ssex:学生性别Course(C#,Cname,T#) 课程表C#,课程编号;Cname:课程名字;T#:教师编号SC(S#,C#,score) 成绩表S#:学号;C#,课程编号;score:成绩Teacher(T#,Tname) 教师表T#:教师编号; Tname:教师名字问题:1、查询“001”课程比“002”课程成绩高的所有学生的学号;select a.S# from (select s#,score from SC where C#='001') a,( 阅读全文

posted @ 2013-09-11 00:10 samules 阅读(160) 评论(0) 推荐(0) 编辑

2013年9月10日

常见的数据库基础面试题大全

摘要: 1. 数据抽象:物理抽象、概念抽象、视图级抽象,内模式、模式、外模式2. SQL语言包括数据定义、数据操纵(Data Manipulation),数据控制(Data Control)数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index等数据操纵:Select ,insert,update,delete,数据控制:grant,revoke3. SQL常用命令:CREATE TABLE Student(ID NUMBER PRIMARY KEY,NAME VARCHAR2(50) NOT NULL);//建表CREATE VIEW 阅读全文

posted @ 2013-09-10 23:56 samules 阅读(305) 评论(0) 推荐(0) 编辑

2013年8月27日

关于GET POST

摘要: 先说相同点,只有了解了相同点之后才能理解为什么会发生混淆。两者都能向服务器发送数据,提交的“内容”[注1]的格式相同,都是var_1=value_1&var_2=value_2&....get 和 post 区别如字面,一个是get(获取),一个是post(发送)。get用来告诉服务器需要获取哪些内... 阅读全文

posted @ 2013-08-27 12:52 samules 阅读(266) 评论(0) 推荐(0) 编辑

导航