自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

查找算法--树表查找之B树

        前面介绍的BST(二叉排序树)和AVL(平衡二叉树)都是二叉树,用作内部查找的数据结构,即被查找的数据集不大,可以放在内存中。这篇博客将主要介绍B树,是非二叉树,用作外部查找的数据结构,其数据存放在外存中。 B-树又称为多路平衡查找树,是一种组织和维护外存文件系统非常有效的数据结构。具体讲解之前,有一点,强调一下:B-树,即为B树。因为B树的原英文名称为B-tree,而国内很多...

2015-03-31 20:40:40 192

查找算法--树表查找之平衡二叉树

         前一篇博客学习了高效动态表查找的二叉排序树,虽然在二叉排序树上实现的插入,删除和查找等基本操作的平均时间为O(log2(n)),但随着插入和删除操作导致树形的改变,成为单枝树,只能从根开始一层一个查找,实质变为顺序查找,此时就是最坏的情况,基本运算的时间会增至O(n);为了避免这种情况,我们可以使用平衡二叉树,使之即保存BST性质又保证树的高度至多左右子树相差一。平衡二...

2015-03-30 23:43:04 293

查找算法--树表查找之二叉排序树

       从前面介绍的查找方法我们知道,折半查找较顺序查找速度快,但折半查找要求表中记录必须有序,因为当在已排序的表中找到新记录恰当的位置时,需要移动许多记录以便为新记录腾出位置。有没有哪一种组织记录的方法使得记录的插入与查找都能够很快地完成呢?本篇博客介绍的树表查找就能解决这个问题。 二叉排序树(BST 也叫二叉查找树) 定义:   二叉排序树或者是一棵空树,或者...

2015-03-29 22:13:59 230

查找算法--顺序表查找

    查找又称检索,是指在某种数据结构中找出满足给定条件的元素。若在查找的同时对表做修改运算(如插入删除),则相应的表称为动态查找表,否则,称为静态查找表。我们分别从线性表查找,树表查找和哈希表查找来分析总结查找算法。 线性表查找 线性表是最简单的一种表的组织方式,我们不考虑在查找的同时对表做修改,即在静态表上进行查找1)顺序查找基本思路:      从表中一端开始,...

2015-03-29 16:24:49 887

最短路径-Floyd

    之前我们接触学习了Dijkstra算法求解一个顶点到其他各个顶点的最短路径和距离,但如果我们想知道每一对顶点的最短路径和距离时,可以通过以每一个顶点作为源点循环求出每对顶点之间的最小距离。除此之外,我们可以利用本篇博客即将学习的弗洛伊德(Floyd)算法来求两顶点之间的最短距离。弗洛伊德(Floyd)算法 1)算法思想原理:       从任意节点i到任意节点j的最...

2015-03-28 16:41:43 209

最短路径-Dijkstra

      在日常生活中,我们如果需要常常往返A地区和B地区之间,我们最希望知道的可能是从A地区到B地区间的众多路径中,那一条路径的路途最短。最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。        用于解决最短路径问题的算法被称做“最短路径算法”, 有时被简称作“路径算法”。 最常用的路径算法有:Dijkstra算法、A*算法、...

2015-03-28 01:07:45 119

最小生成树详解

生成树和最小生成树有许多重要的应用。例如:要在n个城市之间铺设光缆,主要目标是要使这 n 个城市的任意两个之间都可以通信,但铺设光缆的费用很高,且各个城市之间铺设光缆的费用不同,因此另一个目标是要使铺设光缆的总费用最低。这就需要找到带权的最小生成树。下面开始最小生成树的学习。首先需要清楚一些概念。 生成树的定义:连通图G的一个子图如果是一棵包含G的所有顶点的树,则该子图称为G的...

2015-03-27 16:31:39 596

图的遍历算法详解

         图是一种比较重要的数据结构,无论多复杂的图都是由顶点和边构成的,图有两种常用的存储结构为邻接矩阵和邻接表。本篇博客将使用邻接表存储图,邻接表是一种顺序分配和链式分配相结合的存储方式。邻接表是表示图的标准方法,尤其对于稀疏图节省很多存储空间,空间复杂度是O(|E|+|V|). 对于每个顶点,使用一个表存放所有邻接的顶点。        我们要操作的有向图如下:通过图我...

2015-03-26 20:28:01 546

二叉树详解

        树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。本篇博客将详细为大家解析二叉树。 首先介绍两个概念:满二叉树:在一棵二叉树中,如果所有分支结点都有左孩子和右孩子结点,并且叶子结点都集中在二叉树的最下层,这样的树叫做满二叉...

2015-03-25 16:38:05 153

Nodejs的express路由规则

            我们知道Express是一个基于NodeJS的非常优秀的服务端开发框架,本篇将介绍express框架的route路由。如果你还是不太理解,相信看完本篇文章将会有些收 获的。      express 封装了多种 http 请求方式,我们主要只使用 get和post,可以使用app.all获取所以请求方式,回调函数有两个参数分别是 req 和 res,代表请求信息...

2015-03-24 13:52:27 633

JS条件判断

    JavaScript 是一种可以在浏览器中运行的脚本语言,是一种弱语言(相对于C,C#,JAVA而言),只要是计算机语言就会使用到条件判断式,而JavaScript作为一种“弱”语言,它的条件判断常常令人困惑不解。   例如:if ('0') alert("'0' is true");if ('0' == false) alert ("'0' is fa...

2015-03-23 12:35:03 185

KMP算法详解

     字符串模式匹配我们相信大家都有遇过,然而我们也习惯用简单匹配法(即Brute-Force算法),其基本思路就是一个个逐一对比下去,这也是我们大家熟知的方法,然而这种算法的效率并不高,但利于理解。     假设主串s="ababcabcacbab",模式串为t="abcac",我们用肉眼很容易看出匹配位置为是s[5]--s[10];利用简单匹配算法代码如下:int BF(s...

2015-03-22 15:37:40 95

JS集合

一.JS的Array和Object数组是JavaScript提供的一个内部对象,它是一个标准的集合,我们可以添加(push)、删除(shift)里面元素,我们还可以通过for循环遍历里面的元素,那么除了数组我们在JavaScript里还可以有别的集合吗?  由于JavaScript的语言特性,我们可以向通用对象动态添加和删除属性。所以Object也可以看成是JS的一种特殊的集合。下面比较...

2015-03-21 23:45:16 97

J2EE详细入门教程--人员登入

 离上一次开发J2EE已经有一段时间了,项目完成后没有及时总结。现在重新做一个简单的人员登入来总结J2EE吧。不要小看这登入,麻雀虽小五脏俱全啊。以便自己日后参考和供新手学习系统框架:服务器:JBOSS7.1数据库:oracle11g前台:extjs4.2(对于前台设计头痛的可以选择,可以省去很多css)数据操作:EJB3Action处理:structs2.3编程...

2015-03-21 13:44:22 134

C++迷宫求解详解--栈

         相信大家都应该听过栈吧,一直想利用栈来实现一个算法,最近有点空,就利用栈的先进后出的特性来完成迷宫求的问题,下面将详细介绍栈的实现和迷宫求解的过程,可以很好的学习栈的使用。       栈有两种实现方法,一种是顺序,即数组形式,一种是线性,即链表形式,个人还是比较喜欢链表形式实现栈的基本功能。   首先弄一个简单的迷宫,如图: 我们很容易看出这个迷宫解的路径...

2015-03-20 15:54:09 1214

原创 JS的类

js并不是一种面向对向的语言, 没有提供对类的支持, 因此我们不能像在传统的语言里那样 用class来定义类, 但我们可以利用js的闭包封装机制来实现js类, 我们来封装一个简的ocar类. function ocar(color){   this.color = color;   this.arr = new Array("s");  this.hello = function()...

2015-03-04 16:09:39 84

原创 MongoDB基本操作

成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令: show dbs:显示数据库列表 show collections:显示当前数据库中的集合(类似关系数据库中的表) show users:显示用户use <db name>:切换当前数据库,这和MS-SQL里面的意思一样 db.help():...

2015-03-04 14:55:08 85

原创 nodejs模板ejs

node.js 模板引ejs。 搜了一把推荐用ejs的最多。 ejs速度不是最快的,推荐最多大概是因为其简单的语法结构。主要通过<% %><%=%>来嵌套代码。比如符合阅读逻辑,同时也省去不少学习语法的成本。  =========== ejs的特性:     1、缓存功能,能够缓存已经解析好的html模版;     2、<% code %&gt...

2015-03-04 13:48:14 134

原创 Android的LayoutInflater

在 实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用 来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如 Button、TextView等)。 具体作用: 1、对于一个没有被载入或者想要动态载入的界面,都需要使...

2015-03-02 22:13:04 102

原创 Android布局xml的include

             在一个项目中我们可能会需要用到相同的布局设计,如果都写在一个xml文件中,代码显得很冗余,并且可读性也很差,所以我们可以把相同布局的代码单独写成一个模块,然后用到的时候可以通过<include /> 标签来重用layout代码。   btn.xml: Xml代码  <?xml version="1.0"...

2015-03-02 21:33:19 188

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除