前言
如果查找的数据集是有序的线性表,并且是顺序存储的,查找可以用折半查找、插值查找、斐波那契查找算法(详细算法见:有序表查找(折半、插值、斐波那契查找))等实现。但是正是因为他们是顺序的,所以在插入和删除操作中需要耗费大量时间,也就是说这些算法适合静态查找(只有查找操作),不适合动态查找(不仅有查找操作还有插入删除等操作)。而二叉搜索树正适合动态查找。
如果查找的数据集是有序的线性表,并且是顺序存储的,查找可以用折半查找、插值查找、斐波那契查找算法(详细算法见:有序表查找(折半、插值、斐波那契查找))等实现。但是正是因为他们是顺序的,所以在插入和删除操作中需要耗费大量时间,也就是说这些算法适合静态查找(只有查找操作),不适合动态查找(不仅有查找操作还有插入删除等操作)。而二叉搜索树正适合动态查找。
本文灵感来自于July的博客从头到尾彻底理解KMP,并着重于Java实现 :)。 现有字符串匹配算法有不少,如简单暴力的朴素算法(暴力匹配算法)、KMP算法、BM算法以及Sunday算法等,在这里仅介绍前两种算法。
中缀表达式: 是一个通用的算术或逻辑公式表示方法, 操作符是以中缀形式处于的中间(例:3 + 4),中缀表达式是人们常用的算术表示方法,但是不易被计算机所解析。
后缀表达式:是一个通用的算术或逻辑公式表示方法, 操作符是后缀形式处于操作数的后面(例:3 4 +),后缀表达式虽然不是人们所习惯的运算表示方法,但是易被计算机解析。
OOM即Out Of Memory的简称,Android平台避免OOM异常的发生是非常有必要的。而在Android中加载大量大图便可能会导致OOM异常的出现,解决的办法之一就是加载图片之前对图片进行压缩然后再获取图片对应的Bitmap对象,那么应该如何操作呢?
当我们需要选择并获取图片将其展示出来时,一般会这样处理:
1 | // 进入选择图片的界面 |
以上可以看出我们获取的是Uri类型的数据,要显示图片可以先根据Uri获取图片的位置,然后再显示在界面上,那么如何根据Uri来获取图片的绝对路径呢?
在ImageView中设置不同的scaleType(包括center, centerInside, centerCrop, fitXY, fitCenter, fitStart, fitEnd, matrix)属性时,ImageView中实际的图片(也就是Bitmap)会根据不同的scaleType属性来确定自己相对于ImageView的位置。
最近使用Django1.8.5搭建了一个Web项目,用来生成Android客户端的皮肤apk,相当于一个在线的皮肤apk生成工具,于是就理所当然的需要进行在线的下载apk的操作。由于Android项目比较大,一种主题皮肤对应的apk不止一个,一次性下载多个文件的话,于是选择打包下载。