Fork me on GitHub
摘要: 一、原理 归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。将已有序的子序列合并,得到完全有序的序列。如下图: 归并过程: 两个指针的元素比较大小,小的元素就会被放入临时列表中,最后的结果就是: 算法步骤: (1)申请临时空间,使其大小为两个已经排序序列之和,该空间用来存放合并 阅读全文
posted @ 2019-06-29 11:09 iveBoy 阅读(568) 评论(0) 推荐(0) 编辑
摘要: 一、堆排序原理 1、什么是堆? 采用树形结构‘实现优先队列的一种有效技术称为堆。堆就是节点里存储数据的完全二叉树。堆包括大根堆和小根堆: 大顶堆 一颗完全二叉树,满足任一节点都比其孩子节点大,在堆排序算法中用于升序排列。 小顶堆 一颗完全二叉树,满足任一节点都比其孩子节点小,在堆排序算法中用于降序排 阅读全文
posted @ 2019-06-28 09:48 iveBoy 阅读(1081) 评论(0) 推荐(0) 编辑
摘要: 一、快速排序的思路 从序列中取出第一个元素E,并使其归位 序列被元素E分成左右两个部分 使用递归完成排序 关键点 归位 如何完成对元素E的归位,元素E将序列分成左右两部分,左边的部分比E元素小,右边的部分比E元素大,这样左边和右边排序后,中间的E元素位置未变,而且左边和右边使用同样的归位方式进行排序 阅读全文
posted @ 2019-06-27 14:34 iveBoy 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 一、理解原型模式 原型模式就是帮助创建对象的克隆,有时候需要在对象的副本上进行操作,这样不会改变原对象的变量。假如figt和lice是两位厨师,现在figt有一份关于红烧肉的配料,他想分享给lice,那么如果lice想在配料谱上做修改,是否figt拿到的也会跟着变呢? 如果是上图这样的表示figt与 阅读全文
posted @ 2019-06-27 10:32 iveBoy 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 一、门面模式的理解 门面模式是一种结构型设计模式,它主要是为了完成: 为子系统中的一组接口提供一个统一的接口,并定义一个高级接口来帮助客户端通过更加简单的方式使用子系统。 门面所解决问题是,如何用单个接口对象来表示复杂的子系统。 促进实现与多个客户端解耦 这个模式有三个参与者: 门面:将一个复杂的系 阅读全文
posted @ 2019-06-26 19:02 iveBoy 阅读(1010) 评论(0) 推荐(0) 编辑
摘要: Python语言提供了多种创建对象的方式,这里列出其中方式,比如下面有一个类: 方式一: 传统方式构建,将类对象当成构造器使用 方式二: 把类名当成参数,使用eval()函数 方式三: 使用getattr函数 方式四: 使用globals函数 方式五: 使用自定义函数创建对象 方式六: 原型方式创建 阅读全文
posted @ 2019-06-24 15:26 iveBoy 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 一、理解工厂模式 在工厂设计模式中,客户端可以请求一个对象,而无需知道这个对象来自哪里,它只需要知道需要传递的接口、方法和参数,就能够创建所需类型的对象了。这简化了客户端 的实现。工厂模式具有松耦合(对象的创建独立于类的实现)、重用现有对象的特点。 工厂模式有三种变体: 简单工厂模式:允许接口创建对 阅读全文
posted @ 2019-06-24 11:49 iveBoy 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 一、理解单例模式 确保类有且只有一个特定类型的对象,并提供全局访问点,单例模式通常用于下列情形,例如日志记录或数据库操作等,避免对同一资源请求的相互冲突。 单例的模式的意图如下: 确保类有且只有一个对象被创建。 为对象提供一个访问点,以使程序可以全局访问该对象。 控制共享资源的并行访问。 实现单例模 阅读全文
posted @ 2019-06-23 12:46 iveBoy 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 一、原理 将序列分为有序区和无序区两个部分,刚开始有序区只有一个元素,每次从无序区选择一个元素插入到有序区的位置,直到无序区为空。 关键点: 插入到有序区时遵循从后向前进行扫描,然后将无序区的元素插入。 此时无序区的第一个元素作为有序区的第一个元素 二、实现 总结: 有序区已经有一个元素,第一层循环 阅读全文
posted @ 2019-06-22 19:03 iveBoy 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 一、选择排序原理 将未排序序列中的第一个元素标记为最小,存放到有序区的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 关键点: 无序区 记录最小元素的位置 二、实现 原文:https://github.com/hustcc/JS-S 阅读全文
posted @ 2019-06-22 19:03 iveBoy 阅读(244) 评论(0) 推荐(0) 编辑
TOP