十大经典排序算法动画解析和 Java 代码实现

Java
十大经典排序算法动画解析和 Java 代码实现

前言排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 内部排序是数据记录在内存中进行排序。 而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。 用一张图概括: 关于时间复杂度: &ems...

桥接模式详解

设计模式
桥接模式详解

前言  定义:在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。而具体使用的方式,则是将抽象部分与他们的实现部分分离,使得它们都可以独立的变化。 栗子  这里就以...

推荐7个在线将AVI免费转换为MP4格式的优质工具

转换
推荐7个在线将AVI免费转换为MP4格式的优质工具

前言  AVI和MP4都是流行的视频格式。但是,由于文件较大,AVI文件通常不用于便携式设备或视频流网站。如果您有自己喜欢的AVI格式的视频,并希望在iPhone,iPad上播放或在互联网上播放,那么将AVI转换为MP4将是一个不错的选择。那么,有没有免费的方法将AVI转换为MP4,反之亦然?当然,在这篇文章中你会找到一个最好的免费在线视频转换器列表,...

适配器模式详解

设计模式
适配器模式详解

前言  适配器模式从实现方式上分为两种,类适配器和对象适配器,这两种的区别在于实现方式上的不同,一种采用继承,一种采用组合的方式。  另外从使用目的上来说,也可以分为两种,特殊适配器和缺省适配器,这两种的区别在于使用目的上的不同,一种为了复用原有的代码并适配当前的接口,一种为了提供缺省的实现,避免子类需要实现不该实现的方法。&ems...

高效编码—善用Windows 10的云剪贴板

效率
高效编码—善用Windows 10的云剪贴板

前言  云剪贴板是在Windows 10 的十月累计更新版本1809发布的,本次更新中的另一个大更新是剪贴板功能。剪贴板更新可以分为两个方面,一是本地剪贴板的历史记录功能,另一个是云剪贴板。  你现在可以用 Win + V 组合键打开剪贴板历史记录,最近复制到剪贴板的内容都会显示出来,还支持固定常用的文字、以及图片的缓存。&emsp...

策略模式详解

设计模式
策略模式详解

前言  定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。  分析下定义,策略模式定义和封装了一系列的算法,它们是可以相互替换的,也就是说它们具有共性,而它们的共性就体现在策略接口的行为上,另外为了达到最后一句话的目的,也就是说让算法独立于使用它的客户而独...

观察者模式详解

设计模式
观察者模式详解

前言  定义:观察者模式(有时又被称为发布-订阅模式、模型-视图模式、源-收听者模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。  简单点概括成通俗的话来说,就是一个类管...

原型模式详解(clone方法源码的简单剖析)

设计模式
原型模式详解(clone方法源码的简单剖析)

前言  原型模式算是JAVA中最简单的设计模式了,原因是因为它已经被提供了语言级的支持,但是如果提到它的实现原理,又是最复杂的一个设计模式。  下面我们先来看看这个又简单又复杂的设计模式的定义。  定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。  定义比较简单,总结一下...

×
  • {title}