算法单链表交换任意两个元素
先一次遍历找到这两个元素curr1和curr2,同时存储这两个元素的前驱元素pre1和pre2。然后大换血public static Link SwitchPoints(Link head, Link p, Link q){ if (p == head || q == head) throw new Exception(“No exchange with head”);&...
视图和表的区别
1.视图是已经编译好的SQL语句,是基于SQL语句的结果集的可视化的表,而表不是。2.视图没有实际的物理记录,而基本表有。3.表是内容,视图是窗口。4.表占用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以即使对它进行修改,但视图只能创建的语句来修改。5.视图是查看数据表的一种方法,可...
C++strcpy内存覆盖问题
点击(此处)折叠或打开char str[]=\"123456789\";char dst[]=\"aaa\";strcpy(dst, str);cout
二叉排序树查找,插入,删除
点击(此处)折叠或打开typedef struct BiTNode{ int data; struct BiTNode *lchild, *rchild;}BiTNode, *BiTree;//递归查找二叉排序树T中是否存在key...
算法图的着色问题
图的m色判定问题: 给定无向连通图G和m种颜色。用这些颜色为图G的各顶点着色.问是否存在着色方法,使得G中任2邻接点有不同颜色。 图的m色优化问题:给定无向连通图G,为图G的各顶点着色, 使图中任2邻接点着不同颜色,问最少需要几种颜色。所需的最少颜色的数目m称为该图的色数。 若图G是可平面图,则它的色数不超过...
MYSQL高性能学习查询心得
对于低效的查询,分两步分析很有效: 1.确认应用程序是否在检索大量超过需要的数据。这通常意味着访问了太多的行,但有时候也能是访问了太多的列 2.确认MySQl服务器层是否分析大量超过需要的数据行 消耗应用服务器的CPU和内存资源 1.查询不需要的记录 2.多表关联时返回全部列 3.总是取出全部列 ...
指针常量和常量指针
指针常量是指针所指向的位置不能改变,即指针本身是一个常量。但是指针常量可以通过间接引用修改内存中的数据。常量指针是指指针指向的值是常量不能修改,但是指针本身能修改
SQL注入攻击
SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。 归纳一下,主要有以下几点:1.永远不要信任用户的输入。对用户的输入进行...
MYSQL索引注意事项
选择合适的索引 1:对于单键索引,尽量选择针对当前Query过滤性更好的索引 2:在选择组合索引的时候,当前Query中过滤性最好的字段在索引字段顺序中排列越靠前越好 3:在选择组合索引的时候,尽量选择可以能够包含当前Query的where子句中更多字段的索引 4:尽可能通过分析统计信息和调整Query的写法来达...
最大流网络求法
残留网络:给定流网络和一个流,其残留网络由可以容纳更多网络流的边所组成。增广路径:已知一个流网络G=(V,E)和流f,增广路径p为残留网络Gf中从s到t的一条简单路径。Ford-Fulkerson算法在Ford-Fulkerson方法的每次迭代中,找出任意增广路径p,并把沿p每条边的流f加上起残留容量cf(p).例:...
unicode和utf8的区别
UNICODE,GBK,UTF-8区别 简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的,同一个汉字,那三个码值是完全不一样的.如"汉"的uncode值与gbk就是不一样的,假设uncode为a040,gbk为b030,而uft-8码,就是把那个值表现的形式.utf...
类的前缀自增/自减和后缀自增/自减
前缀操作符返回对象的引用后缀操作符返回对象值 所以前缀操作符效率高些点击(此处)折叠或打开CheckedPtr& CheckedPtr::operator++() { if (curr == end) throw out_of_range (\"incremen...
多路归并外部排序
设计模式:抽象工厂模式
为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类当每个抽象产品都有多于一个的具体子类的时候,工厂角色怎么知道实例化哪一个子类呢?比如每个抽象产[1]品角色都有两个具体产品。抽象工厂模式提供两个具体工厂角色,分别对应于这两个具体产品角色,每一个具体工厂角色只负责某一个产品角色的实例化...
设计模式:工厂模式
工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。工厂方法...
设计模式:简单工厂模式
从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。实现方式简单工...
深入探索C++对象模型第五章学习心得
1.抽象类中可以定义静态函数,这个静态函数可以像其他类中的静态函数的使用方法使用。2.在抽象类中,如果析构函数是纯虚函数,必须定义,因为派生类的析构函数要调用抽象类中的析构函数。3.尽量把抽象类中的数据成员抽离出来,使抽象类中只有接口函数。4.如果类的构造函数列表有默认值,可以直接定义对象,不用显示地调...
同年同月出生
六年级一班的四十名学生中,年龄最大的是13岁,最小的是11岁,其中必有多少名学生是同年同月出生的?每月个1名出生,那还剩4人,剩下的四人肯定在36个月里的任意一个月出生,因此必有两人在一个月里出生。
64个球分到18个盒子里
现在有64个乒乓球,18个乒乓球盒,每个盒子里最多可以放6个乒乓球(最少也要放1个乒乓球),至少有几个乒乓球盒子里的乒乓球数目相同?都是典型的抽屉原理。1.你的思路是正确的,“至少有几个乒乓球盒子里的乒乓球数目相同”的含义64个球放到18只盒子里的组合方式是很多种的,题目是问你这许多种组合中"乒乓球盒子里...
设计模式:解释器模式
定义:给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子。类型:行为类模式类图: 解释器模式是一个比较少用的模式,本人之前也没有用过这个模式。下面我们就来一起看一下解释器模式。 解释器模式...