梳排序的基本思想:梳排序是在冒泡排序上再做优化的。梳排序是待排序列通过增量分为若干个子序列,然后对子序列进行冒泡排序,然后一步步减少增量,直到增量减到1为止。梳排序的最后一次排序是冒泡排序。 梳排序的增量是根据递减率减小…
标签:架构
安卓架构分层
原文已删除。内容都包含在下边的链接中。 实践总结:搭建安卓应用架构的方法
装饰模式——七种结构型模式之一
1.前言 面向对象三大基本特征中就有继承,表现了对代码的重用和对新功能的扩展。代理模式很好地完成了代码重用,功能都是由被代理者提供,它只负责判断是否调用。就像你住在一个房子里,外人都知道去那找你,但见你前得先进门。 …
java中的代理模式
代理模式 在某些情况下,一个客户不想或者不能直接引用一个对象,此时可以通过一个称之为“代理”的第三者来实现间接引用。代理对象可以在客户端和目标对象之间起到 中介的作用,并且可以通过代理对象去掉客户不能看到 的内容和服务或…
设计模式——代码如若初相见
一、何为设计模式 设计模式不是一种方法和技术,而是一种思想。 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 设计模式和具体的语言无关,学习设计模式就是要建立…
Rx简单使用
RxJava最核心的是Observables(被观察者,事件源)和Subscribers(订阅者)以及Observer(观察者) 。三者关系,通过订阅者绑定,被观察者将信息发送给观察者。 RxAndroid是RxJava…
剑指offer第二版-11.旋转数组的最小数字(二分查找)
本系列导航:剑指offer(第二版)java实现导航帖 面试题11:旋转数组的最小数字 题目要求: 把一个数组最开始的若干个元素搬到末尾成为数组的旋转,如1,2,3,4,5=>3,4,5,1,2;0,1,1,1,1…
数据结构_知识点_栈
1. 栈的定义 只允许在一段进行插入和删除操作的线性表。 可以理解为只有一个口的窄瓶子,出入都只能通过一个口。同时,瓶内elem按线性排列。 由特性可知,其输入与输出顺序可以有多种不同的变化。因而,栈多用于需要输出顺序特…
getByClass函数进化史
对于js来说,我想每一个刚接触它的人都应该会抱怨:为什么没有一个通过class来获取元素的方法。尽管现在高版本的浏览器已经支持getElementsByClassName()方法,但是对于低版本浏览器来说,还是无法兼容,…
详解Lambda
详解Lambda Java8已经更新了好久了。变化很大,但感觉有用的不多。其中最广为人知的就是Lambda表达式。看起来比较蛋疼,感觉Java越来越C化了。 当初以为Lambda的作用就是为了简化匿名内部类的输写,最近看…
一些关于架构设计的思考
我们通过上述横向分块、纵向分层的方法将一个系统切成不同的小块,这些小块负责某一单一的职责,然后通过接口将块与块之间进行了间接性的连接,依赖的是接口而不是实例,以弱化这种模块间通信造成的耦合。当然,上述模型仅仅只是一个理想…
跟我一起刷leetCode算法题10之Contains Duplicate
217. Contains Duplicate 这是leetCode第217题 题目 Given an array of integers, find if the array contains any duplicat…