自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Smile2you的博客

选择比努力总要,机遇比能力重要

  • 博客(13)
  • 资源 (7)
  • 收藏
  • 关注

转载 Java数据结构与算法解析(十二)——散列表

散列表概述散列表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值。散列表的思路很简单,如果所有的键都是整数,那么就可以使用一个简单的无序数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。这是对于简单的键的情况,我们将其扩展到可以处理更加复杂的类型的键。散列的查找算法有两个步骤: 1

2017-11-02 09:15:25 478

转载 Java数据结构与算法解析(十三)——优先级队列

在很多应用中,我们通常需要按照优先级情况对待处理对象进行处理,比如首先处理优先级最高的对象,然后处理次高的对象。最简单的一个例子就是,在手机上玩游戏的时候,如果有来电,那么系统应该优先处理打进来的电话。在这种情况下,我们的数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。这种数据结构就是优先级队列(Priority Queue) 。定义优先级队

2017-11-02 09:14:45 259

转载 Java数据结构与算法解析(十四)——二叉堆

二叉堆概述二叉堆是完全二元树或者是近似完全二元树,按照数据的排列方式可以分为两种:最大堆和最小堆。 最大堆:父结点的键值总是大于或等于任何一个子节点的键值;最小堆:父结点的键值总是小于或等于任何一个子节点的键值。二叉堆一般都通过”数组”来实现,下面是数组实现的最大堆和最小堆的示意图: 二叉堆的实现本实现以”最大堆”为例子来进行介绍。1. 添加

2017-11-02 09:14:13 282

转载 Java数据结构与算法解析(十一)——红黑树

前面一篇文章介绍了2-3查找树,2-3查找树能保证在插入元素之后能保持树的平衡状态,最坏情况下即所有的子节点都是2-node,树的高度为lgN,从而保证了最坏情况下的时间复杂度。但是2-3树实现起来比较复杂,本文介绍一种简单实现2-3树的数据结构,即红黑树(Red-Black Tree)红黑树的介绍红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树

2017-11-01 18:18:55 406

转载 Java数据结构与算法解析(十)——2-3树

二叉查找树对于大多数情况下的查找和插入在效率上来说是没有问题的,但是他在最差的情况下效率比较低。平衡查找树的数据结构能够保证在最差的情况下也能达到lgN的效率,要实现这一目标我们需要保证树在插入完成之后始终保持平衡状态,这就是平衡查找树(Balanced Search Tree)。在一棵具有N 个节点的树中,我们希望该树的高度能够维持在lgN左右,这样我们就能保证只需要lgN次比较操作就可以查找到

2017-11-01 18:18:04 301

转载 Java数据结构与算法解析(九)——B树

B树简介定义在计算机科学中,B树(英语:B-tree)是一种自平衡的树,能够保持数据有序。这种数据结构能够让查找数据、顺序访问、插入数据及删除的动作,都在对数时间内完成。特点阶为M的B树是一颗具有以下特点的树: 1.数据项存储在树叶上 2.非叶子节点直到M-1个关键字以指示搜索的方向:关键字i代表子树i+1中最小的关键字 3.树的根或者是一片树叶,或者其

2017-11-01 18:17:05 249

转载 Java数据结构与算法解析(八)——伸展树

伸展树简介伸展树(Splay Tree)是特殊的二叉查找树。 它的特殊是指,它除了本身是棵二叉查找树之外,它还具备一个特点: 当某个节点被访问时,伸展树会通过旋转使该节点成为树根。这样做的好处是,下次要访问该节点时,能够迅速的访问到该节点。特性1.和普通的二叉查找树相比,具有任何情况下、任何操作的平摊O(log2n)的复杂度,时间性能上更好 2.和一般的平衡二叉树比

2017-11-01 18:16:11 194

转载 Java数据结构与算法解析(六)——AVL树

之前我们说过普通二叉查找树的删除算法会使得左子树比右子树深,因为我们总是用右子树的一个来代替删除的节点。会造成二叉查找树,严重的不平衡。AVL树简介而AVL树就是解决普通二叉查找树弊端的方法,他是带有平衡条件的二叉查找树,这个平衡条件必须容易保持,而且它保证树的深度必须是O(logN).AVL树是高度平衡的而二叉树。它的特点是:AVL树中任何节点的两个子树的高度最大差别为1

2017-11-01 18:14:38 286

转载 Java数据结构与算法解析(五)——二叉查找树

二叉查找树简介二叉查找树(Binary Search Tree),又被称为二叉搜索树。 它是特殊的二叉树:对于二叉树,假设x为二叉树中的任意一个结点,x节点包含关键字key,节点x的key值记为key[x]。如果y是x的左子树中的一个结点,则key[y] = key[x]。那么,这棵树就是二叉查找树。如下图所示: 在二叉查找树中: (1) 若任意节点的左子树不空,则左子

2017-11-01 18:13:18 243

转载 Java数据结构与算法解析(四)——树的概述

树的基本概念树具有以下的特点: (01) 每个节点有零个或多个子节点; (02) 没有父节点的节点称为根节点; (03) 每一个非根节点有且只有一个父节点; (04) 除了根节点外,每个子节点可以分为多个不相交的子树。树的基本术语1.结点的度 结点拥有的子树数称为结点的度。度为0的结点称为叶子结点或终端结点,度不为0的结点称为非终端结点或

2017-11-01 18:12:37 227

转载 Java数据结构与算法解析(三)——队列与背包

队列基本概念像栈一样,队列也是表。然而,使用队列时插入在一端进行,而删除则在另一端进行。插入的一端称为队尾,删除的一端称为队头 。其插入和删除的操作分别在表的两端进行,队列的特点就是先进先出(First In First Out)。队列的数组实现队列的顺序储存缺点:出队复杂度高0(n),容易假溢出 Front为队头指针,rear为

2017-11-01 18:11:48 225

转载 Java数据结构与算法解析(二)——栈

栈是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶。对栈的基本操作有push(进栈)和pop(出栈),对空栈进行push和pop,一般被认为栈ADT的一个错误。当push时空间用尽是一个实现限制,而不是ADT错误。栈有时又叫做LIFO(后进先出)表。基本概念允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。栈又

2017-11-01 18:10:49 483

转载 Java数据结构与算法解析(一)——表

本节我们讨论常见常用的数据结构——表。 如果要通俗简单的说什么是表,那我们可以这样说:按顺序排好的元素集合就是表。表的概述抽象数据类型是带有一组操作的一些对象的结合1、定义: 线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点没有前驱但有一个后继结点,有且仅有一个终端结点没有后继但有一个前驱结点,其它的结点都有且仅有一个前

2017-11-01 18:07:58 178

传智播客张孝祥老师的经典

传至博客张孝祥老师的经典,适合有基础的初学者学习,高清版本

2018-04-11

黑马28期淘淘商城数据库脚本

黑马28期,淘淘商城sql文件。包括数据库脚本和初始化数据等等

2018-04-01

resids 客户端

MySQL优化笔记 MySQL优化笔记 MySQL优化笔记 MySQL优化笔记 MySQL优化笔记 MySQL优化笔记

2018-01-24

MySQL优化笔记

mysql 优化指南,索引 聚簇索引 innodb引擎,索引优化指南

2018-01-24

Spring+SpringMVC+Mybatis CXF

学习spring 框架 和 cxf webservice接口等必备,接口 restful webservice

2018-01-24

python学些资料

最新的python新特性,淘汰python2.7 最新的python新特性,淘汰python2.7 最新的python新特性,淘汰python2.7

2018-01-23

SSM框架与CXF整合

本代码事例是SSM框架和CXF整合,仅供大家学习,本代码事例是SSM框架和CXF整合,仅供大家学习

2018-01-23

空空如也

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

TA关注的人

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