摘要:前言 上一篇博客介绍了 "[二叉树]" .二叉搜索树在树是 平衡 的情况下搜索、插入和删除的效率都很好,但是如果二叉搜索树是 不平衡 的那么它的效率就不那么令人满意了,而红黑树解决了二叉搜索树的这个问题,可以始终保持树是平衡(大致平衡)的. 阅读前须知: 如果您对二叉树不太了解,请移步 "[二叉树] 阅读全文
posted @ 2019-12-23 10:30 Optimism&Active 阅读(517) 评论(0) 推荐(24) 编辑
摘要:前言 上一篇博客为大家介绍了 "数组与链表" 这两种数据结构,虽然它们在某些方面有着自己的一些优点,但是也存在着一些自身的缺陷,本篇博客为将为大家介绍一下数据结构 二叉树 ,它在保留数组和链表的优点的同时也改善了它们的缺点(当然它也有着自己的缺点,同时它的实现也比较复杂). 1. 数组和链表的特点 阅读全文
posted @ 2019-12-12 15:26 Optimism&Active 阅读(1488) 评论(8) 推荐(106) 编辑
摘要:前言 上一篇博客介绍了 "[二叉树]" .二叉搜索树在树是 平衡 的情况下搜索、插入和删除的效率都很好,但是如果二叉搜索树是 不平衡 的那么它的效率就不那么令人满意了,而红黑树解决了二叉搜索树的这个问题,可以始终保持树是平衡(大致平衡)的. 阅读前须知: 如果您对二叉树不太了解,请移步 "[二叉树] 阅读全文
posted @ 2019-12-23 10:30 Optimism&Active 阅读(517) 评论(0) 推荐(24) 编辑
摘要:前言 上一篇博客为大家介绍了 "数组与链表" 这两种数据结构,虽然它们在某些方面有着自己的一些优点,但是也存在着一些自身的缺陷,本篇博客为将为大家介绍一下数据结构 二叉树 ,它在保留数组和链表的优点的同时也改善了它们的缺点(当然它也有着自己的缺点,同时它的实现也比较复杂). 1. 数组和链表的特点 阅读全文
posted @ 2019-12-12 15:26 Optimism&Active 阅读(1488) 评论(8) 推荐(106) 编辑
摘要:前言 数组和链表是两种数据结构,数组非常简单易用但是它有两个非常大的缺点,一个是数组一旦创建无法扩展,另一个则是数组的查找和删除的速度很慢. 链表改善了一些数组的缺点,但是同样的链表自身也存在一些自己的缺点. 本篇博客将为大家介绍一下这数组和链表特点及各自的优缺点. 阅读前的准备工作 "大O表示法" 阅读全文
posted @ 2019-11-21 10:12 Optimism&Active 阅读(455) 评论(0) 推荐(11) 编辑
摘要:1. 这是干什么的? 名称来源:使用大写字母O 含义: order of (大约是). 粗略的评价计算机算法效率的一种方法. 2. 如何进行评价的 ? 大O表示法的实质并不是对运行时间给出实际值,而是表达了运行时间是如何受数据项个数所影响的. 大O加上()的形式,里面其实包裹的是一个函数f(),O( 阅读全文
posted @ 2019-11-18 16:51 Optimism&Active 阅读(121) 评论(0) 推荐(2) 编辑
摘要:前言 本篇是设计模式学习笔记的其中一篇文章,如对其他模式有兴趣,可从该地址查找 "设计模式学习笔记汇总地址" 1. 原形模式 可以通过一个原型对象克隆出多个一模一样的对象,该模式称之为原型模式 2. 定义 原型模式(Prototype Pattern): 使用原型实例指定创建对象的种类,并且通过拷贝 阅读全文
posted @ 2019-07-31 09:11 Optimism&Active 阅读(117) 评论(0) 推荐(0) 编辑
摘要:面向对象设计原则概述 面向对象设计原则是从设计模式中总结出来的指导性原则,也就是说设计模式遵循了面向对象设计原则.我们平时在开发软件的时刻也要尽量遵循面向对象设计原则进行开发. 面向对象设计原则为支持可维护性复用而诞生. 最常见的七种面向对象设计原则: 单一职责 开闭原则 里氏代换原则 依赖倒转原则 阅读全文
posted @ 2019-07-22 11:23 Optimism&Active 阅读(444) 评论(1) 推荐(5) 编辑
摘要:前言 本篇是设计模式学习笔记的其中一篇文章,如对其他模式有兴趣,可从该地址查找 "设计模式学习笔记汇总地址" 1. 使用单例模式的原因 以Windows任务管理器为例,在Windows系统中,任务管理器是唯一的,多次打开任务管理器,始终只能弹出一个唯一的任务管理器. 这么做的理由有两个: 1. 节约 阅读全文
posted @ 2019-07-18 09:24 Optimism&Active 阅读(258) 评论(0) 推荐(0) 编辑
摘要:前言 本篇是设计模式学习笔记的其中一篇文章,如对其他模式有兴趣,可从该地址查找 "设计模式学习笔记汇总地址" 1. 抽象工厂模式概述 工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题, 但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增 阅读全文
posted @ 2019-07-17 10:12 Optimism&Active 阅读(301) 评论(0) 推荐(0) 编辑
摘要:前言 本篇是设计模式学习笔记的其中一篇文章,如对其他模式有兴趣,可从该地址查找 "设计模式学习笔记汇总地址" 1. 简介 上一篇博客介绍了 "简单工厂模式" ,简单工厂模式存在一个很严重的问题: 就是当系统需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源 阅读全文
posted @ 2019-07-16 09:58 Optimism&Active 阅读(322) 评论(0) 推荐(2) 编辑
摘要:前言 本篇是设计模式学习笔记的其中一篇文章,如对其他模式有兴趣,可从该地址查找 "设计模式学习笔记汇总地址" 正文开始... 1. 简介 简单工厂模式不属于GoF23中设计模式之一,但在软件开发中应用也较为频繁,通常做为学习其他工厂模式的入门. 接下来我们从一个虚构的业务场景遇到的问题开始,到如何使 阅读全文
posted @ 2019-07-15 11:23 Optimism&Active 阅读(352) 评论(0) 推荐(2) 编辑