摘要: 转自http://www.zhujuncoding.com/index.php/Index/blogview?id=82这篇文章是关于在淘宝的数据库oceanbase中添加存储过程支持的文章,oceanbase在下文中使用ob简称 学校接的项目要在开源数据系统oceanbase中实现存储过程的 首先... 阅读全文
posted @ 2014-08-18 10:35 小竹zz 阅读(728) 评论(0) 推荐(0) 编辑
摘要: 一、排序相关概念 根据在排序过程中待排序的记录是否全部被放置在内存中,排序分为:内排序和外排序。 内排序是在排序整个过程中,待排序的所有记录全部被放置在内存中。外排序是由于排序的记录个数太多,不能同时放置在内存中,整个排序过程需要在内外存之间多次交换数据才能进行。 根据排序过程中借助的主要操作,把内排序分为:插入排序、交换排序、选择排序和归并排序。1.1 排序用到的结构和函数 为了讲清楚排序代码,先提供一个用于排序用的顺序表结构,此结构用于之后讲的所有排序算法。1234567#define MAXSIZE 100 //用于排序数组个数最大值typedefstruct{intdata[M... 阅读全文
posted @ 2013-10-01 20:59 小竹zz 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章我们通过迪杰斯特拉算法解决了从某个源点到其余各顶点的最短路径问题。从循环嵌套很容易得到此算法的时间复杂度为O(n^2)。可是怎么只找到从源点到某一个特定终点的最短路径,其实这个问题和求源点到其他所有顶点的最短路径一样复杂,时间复杂度依然是O(n^2)。 此时比较简单方法就是对每个顶点当作源点运行一次迪杰斯特拉算法,等于在原有算法的基础上,再来一次循环,此时整个算法的时间复杂度为O(n^3)。 对此,我们再来学习另一个求最短路径的算法——弗洛伊德(Floyd),它求所有顶点到所有顶点的最短路径,时间复杂度也为O(n^3),但其算法非常简洁优雅。 为了能讲明白该算法的精妙所在,先来... 阅读全文
posted @ 2013-10-01 20:57 小竹zz 阅读(268) 评论(0) 推荐(0) 编辑
摘要: Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,比如数据结构、图论、运筹学等。 1、算法思想 令G = (V,E)为一个带权有向图,把图中的顶点集合V分成两组,第一组为已求出最短路径的顶点集合S(初始时S中只有源节点,以后每求得一条最短路径,就将它对应的顶点加入到集合S中,直到全部顶点都加入到S中);第二组是. 阅读全文
posted @ 2013-10-01 20:53 小竹zz 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 平衡二叉树,是一种二叉排序树,其中每个结点的左子树和右子树的高度差至多等于1。它是一种高度平衡的二叉排序树。高度平衡?意思是说,要么它是一棵空树,要么它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。将二叉树上结点的左子树深度减去右子树深度的值称为平衡因子BF,那么平衡二叉树上的所有结点的平衡因子只可能是-1、0和1。只要二叉树上有一个结点的平衡因子的绝对值大于1,则该二叉树就是不平衡的。平衡二叉树的前提是它是一棵二叉排序树。距离插入结点最近的,且平衡因子的绝对值大于1的结点为根的子树,称为最小不平衡子树。如下图所示,当插入结点37时,距离它最近的平衡因子的绝对值超 阅读全文
posted @ 2013-10-01 20:37 小竹zz 阅读(20109) 评论(0) 推荐(0) 编辑
摘要: 一个连通图的生成树是一个极小的连通子图,它含有图中全部顶点,但只有足以构成一棵树的n-1条边。那么我们把构造连通网的最小代价生成树称为最小生成树。 找连通网的最小生成树,经典的有两种算法,普里姆算法和克鲁斯卡尔算法。下面分别介绍两种算法。一、普里姆(Prim)算法 普里姆算法,图论中的一种算法,可在加权连通图里搜索最小生成树。意即此算法搜索到的边子集所构成的树中,不但包括连通图里的所有顶点,且其所有边的权值之和亦为最小。1.1 算法描述从单一顶点开始,普里姆算法按照以下步骤逐步扩大树中所含顶点的数目,直到遍及连通图的所有顶点。 (1)输入:一个加权连通图,其中顶点集合为V,边集合为E; ... 阅读全文
posted @ 2013-10-01 19:28 小竹zz 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 一、图的存储结构1.1 邻接矩阵 图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息。 设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为: 看一个实例,下图左就是一个无向图。 从上面可以看出,无向图的边数组是一个对称矩阵。所谓对称矩阵就是n阶矩阵的元满足aij= aji。即从矩阵的左上角到右下角的主对角线为轴,右上角的元和左下角相对应的元全都是相等的。 从这个矩阵中,很容易知道图中的信息。 (1)要判断任意两顶点是否有边无边就很容易了; (2)要知道某个顶点的度,其实就是这个顶点vi在邻接矩阵中第i行或(第... 阅读全文
posted @ 2013-10-01 16:09 小竹zz 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 首先是邮件帮助类using System; using System.Collections.Generic; using System.Text; using System.Net.Mail; using System.Windows.Forms; namespace zzEmail { //邮件帮助类 class MailHelper { SmtpClient smtpClient; //邮件实体类,包含用户名密码 MailModel mail; UserModel to; publi... 阅读全文
posted @ 2013-10-01 12:37 小竹zz 阅读(231) 评论(0) 推荐(0) 编辑
摘要: // 二叉树.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #define maxSize 10 using namespace std; typedef struct BinaryTreeNode { char data; BinaryTreeNode * leftChild; BinaryTreeNode * rightChild; }Node; //构造二叉树 使用先序和中序构造一颗二叉树 void MakeBinaryTree(Node** root, char* preOrder, char* ... 阅读全文
posted @ 2013-09-30 12:46 小竹zz 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 最近发现我们学校的电信上网改密码的页面很简单,没有验证码,于是我就很好奇,后来发现原来是我们学校的电信的那个改密码的页面有漏洞于是就可以通过扫描账号免费上网原理就是对修改密码的页面进行POST请求如果密码账号正确就返回200下面是C#的网络操作类using System; using System.IO; using System.Net; using System.Text; using System.Collections.Generic; using System.Text.RegularExpressions; namespace scan { public class zz... 阅读全文
posted @ 2013-09-29 17:10 小竹zz 阅读(430) 评论(1) 推荐(0) 编辑