摘要:
Hello,又是拖了几天更,实在是忙的要死,有时候忙累了,真的就是倒头睡的那种,刚好今天闲下来了。今天来更新一篇建造者模式。 其实建造者模式,我们已经在上一节已经有了解过了。只不过是上一节没有提到这样的一个概念。可能大家都觉得抽象工厂模式一般都是那样用的,其实里面已经包含了我们这一节的内容。 且听我 阅读全文
摘要:
上一节我们已经学习了原型模式,稍微复习一下:通过重写Object 类的clone() 方法实现浅克隆,浅克隆也要实现Cloneable 标记接口。而深克隆则是将对象通过序列化和反序列化 的方式进行创建和还原。 本小结将学习的是工厂模式,这个模式在平时是特别常用的,还需好好理解。我也将举一些例子🌰给 阅读全文
摘要:
在本节中,我们将学习和使用原型模式;这一节学习的原型模式也是创建型 模式的其中之一。再次复习一下:创建型 模式就是描述如何去更好的创建一个对象。 我们都知道,在JAVA 语言中。使用new 关键字创建一个新对象。将新的对象放到堆内存 里面。当然,这个内存肯定是有大小限制的,况且,JAVA 不同于C语 阅读全文
摘要:
数据结构我们已经学了一部分了。是该了解了解设计模式了。习惯了CRUD的你,也该了解了解这一门神器、我为啥要说是神器呢? 因为在大厂的面试环节、以及很多的比如 Springboot Mybatis 等开源框架中、大量的使用到了设计模式。为了我们在之后学习源代码的时候不再懵逼,为啥这代码能这样写?为啥巴 阅读全文
摘要:
说起手机上面的音乐播放器、大多都是以腾讯某音乐和网易某云、但这两款音乐软件都各有千秋、大多朋友都喜欢在某云上看着评论听歌,想听的歌没版权。要是手机上再安装个某音乐。来回切换,极大的不方便。并且也很繁琐、难道就没有解决的办法么? 某云: 版权少、音乐少 可以评论互动 充钱才可以快乐 某音: 不可以白嫖 阅读全文
摘要:
通过上一节的学习,我们了解到 二叉堆的本质还是一个完全二叉树 无序数组通过构造、通过下沉构造可以构造为最小堆 通过上浮构造可以构造为最大堆 来说今天的堆排序算法之前、首先请和我一起、再次了解一下二叉堆元素的删除 二叉堆删除元素 这里假设我们这里有这样的一个完全二叉树如下: 1、删除顶部1号元素【暂且 阅读全文
摘要:
是否记得我们在之前的学习中有学习到二叉树 忘记的小伙伴们请查看:完全二叉树的定义。 https://blogs.chaobei.xyz/archives/shuju2 二叉堆 二叉堆其实就是一个完全二叉树 一起复习一下吧:关于二叉树和满二叉树以及完全二叉树的基本概念。 二叉树 每个节点下挂元素不超过 阅读全文
摘要:
快速排序 快速排序与冒泡排序一样,同样是属于交换排序 叫做快速排序也是有原因的。因为它采用了分治法的概念 其中最重要的一个概念就是 基准元素 冒泡排序每一轮将一个最大的元素挑选出并移动到右侧。 分治法思想 在每一轮当中。通过确定基准元素,将元素分为两部分,分别大于小于基准元素。而后的一轮中。还是通过 阅读全文
摘要:
前言 上节,我们已经通过对冒泡算法的优化、能够达到我们预想的结果。比较次数的减少、本节将继续在冒泡排序的基础上进行优化、能够达到刚好的效果。 鸡尾酒排序 🍸 为什么叫鸡尾酒排序呢?可能这个名字起得比较特殊。它是基于冒泡排序做了一些小小的改动。也叫做 现在,大家的脑子里肯定会想到一个古老的钟摆。。。 阅读全文
摘要:
前言 说到前面,我们已经详解了几种数据结构、包括数组、链表、二叉树、B树、B+树等基本数据结构、当然,我们这节课也叫做数据结构与算法、肯定会包含算法的相关知识、因为在之前已经了解和学习过有关时间复杂度的相关内容。当然也是和算法密切相关的。时间复杂度和空间复杂度共同决定一个算法的好坏、本节,我们将学习 阅读全文