- 博客(7)
- 资源 (10)
- 问答 (2)
- 收藏
- 关注
原创 常用排序(稳定性、时间/空间复杂度)
一、稳定性 排序算法的稳定性通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。 稳定性的好处。排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。 1、冒泡排序(稳定) 冒泡排序是比较相邻两个元素的值的大小,当相邻元素的值相等时,这两个元素不会交换位置,因此冒泡排序不会改变相等元素的前后位置
2016-03-23 00:29:32 525
原创 常用排序(插入、堆、归并)
一、插入排序 排序算法的稳定性通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。 稳定性的好处。排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。 1、冒泡排序(稳定) 冒泡排序是比较相邻两个元素的值的大小,当相邻元素的值相等时,这两个元素不会交换位置,因此冒泡排序不会改变相等元素的前后位
2016-03-22 16:34:17 435 1
原创 策略模式
策略模式 策略模式是一种定义一系列算法的方法 * 当一些算法完成的都是相同的工作,只是实现不同,就可以用同样的方式调用所有的算法。 * 策略模式可以降低算法的使用类与算法类之间的耦合。 封装变化点是面向对象的一种很重要的思维方式。而策略模式就是封装了一系列概念上相同而实现不同的算法的变化之处。所需的类: Strategy 策略类(一系列算法类的抽象父类) ConcreteStar
2016-03-08 23:41:27 1612
原创 装饰模式
装饰模式 动态地给一个对象添加一些额外的职责。即为已有功能动态地添加更多功能的一种方式。 当一个对象所需的功能是动态变化,或者说是有着许多种组合(且可以有着一定的组合顺序)时,这时如果使用子类的方式则需要将这种组合的过程暴露在外面,且使得核心类的代码变得复杂。而使用装饰模式的话,它吧每个要装饰的功能放在单独的类中,然后让这个类去包装其所要装饰的对象。如此这般,客户代码就可以根据需要有选择、有顺序
2016-03-06 15:00:06 480
原创 工厂方法模式
工厂方法模式 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使得一个类的实例化延伸到其子类。 对于简单工厂模式来说,其优点是工厂类包含了必要的逻辑判断,但是在新增操作类时,不仅仅增加了类还要修改工厂类的判断处语句(switch)。所以说简单工厂不仅对扩展开放,还对修改开放了,这样就违背了开放-封闭原则。 而工厂方法模式则将原先的工厂类进行抽象,让这个抽象工厂类的子类来决定实例化
2016-03-06 12:37:45 425
原创 常用排序(冒泡、快速、选择)
常见排序算法的使用1、冒泡排序 冒泡排序思想是从头开始扫描待排序的元素,在这过程中相邻两个元素之间进行比较,将较大的数向后移,(即大数向下沉,小数向上冒),经过从头到尾的一次扫描后,当前最大的数就会被移动到最后一位了,然后记下这个位置,下一次扫描只需扫描到这个位置即可(即第i此扫描需要比较n-i次)。第i次扫描会将一个第i大的数排到倒数第i位上。 代码实现:public void MPsort(){
2016-03-05 20:58:44 634
Linux下apk反编译工具包集合(apktool、dex2jar、jd-gui)
2017-11-21
万能适配器MyBaseAdapter
2015-08-27
怎么把写好的调度算法用GridSim演示啊
2015-12-02
安卓分享后怎么返回原界面
2015-07-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人