摘要:
排序算法相必大家都见过很多种,例如快速排序、归并排序、冒泡排序等等。今天,我们就来简单讲讲堆排序。 在上一篇中,我们讲解了二叉堆,今天的堆排序算法主要就是依赖于二叉堆来完成的,不清楚二叉堆是什么鬼的,可以看下: 【算法与数据结构】二叉堆是什么鬼? 用辅助数组来实现堆排序算法 假如给你一个二叉堆,根据 阅读全文
摘要:
二叉堆是一种应用很广的数据结构,今天,我们就来简单讲讲二叉堆。往期回顾:【算法与数据结构专场】BitMap算法基本操作代码实现【算法与数据结构专场】BitMap算法介绍 什么是二叉堆? 二叉堆是一种特殊的堆。具有如下的特性: 具有完全二叉树的特性。 堆中的任何一个父节点的值都大于等于它左右孩子节点的 阅读全文
摘要:
上篇我们讲了BitMap是如何对数据进行存储的,没看过的可以看一下【算法与数据结构专场】BitMap算法介绍 这篇我们来讲一下BitMap这个数据结构的代码实现。 回顾下数据的存储原理 一个二进制位对应一个非负数n,如果n存在,则对应的二进制位的值为1,否则为0。这个时候,我们的第一个问题:我们在使 阅读全文
摘要:
在上一篇文章 单例模式(上)—-如何优雅地保证线程安全问题中,我们采取了懒汉式写法来写我们的单例模式,并且重点讲解了懒汉式中线程安全的问题。这篇我们来讲讲单例模式中的其他几种写法。 上篇文章中,方法和变量的声明都忘了加上“static”的声明,这里提醒一下。 懒汉式 懒汉式在上节我们已经讲过了,直接 阅读全文
摘要:
上次帅地问的问题,让小秋学习了不少。这几天小秋刚好学习了一些设计模式的知识,这不,又跑去找帅地探讨一些问题了。 粗糙的同步 小秋:地哥,上次你问的问题,让我收获颇多,这些天我大致研究了下设计模式,帅地有什么指教的吗? 帅地:小子,行啊。那我再考考你得了。 此刻小秋聚精会神着等帅地又会抛出哪些问题…. 阅读全文
摘要:
截止今天,小秋学习Java刚刚满三个月。此刻的小秋感觉自己Java学的还不错,想去帅地面前炫耀一番,于是,就发生了一下一番对话….. 得意的小秋 帅地:嗨,小秋,看你今天气色不错啊。最近Java学的怎么样了? 小秋:说实话,比起三个月前我学指针的那段日子,这Java太友好了,感觉就是分分种的事(暗自 阅读全文
摘要:
分组 首先我们来了解下分组的概念。所谓分组,就是将一个数据包分成一个个更小的数据包。例如对于一个10GB的数据包,总不可以一次性发送过去吧,而是把它分成若干个小的数据包发送过去。每个分组数据块的结构图:文件头一般是一些说明性数据,例如源地址和目标地址,数据类型等。数据部分就是真正要传达给对象的内容 阅读全文
摘要:
生活中的一些例子 在我们的日常生活中,对于适配器,可以说是无处不在。例如我们平时使用的笔记本电脑,可能笔记本电脑的工作电压是20V,但我们一般的家庭用电是220V,这时候电脑在充电的时候就需要一个电源适配器来把220V的电脑转化为20V的电压了。这个电源适配器也别称为充电器或变压器。 又如,我们想用 阅读全文
摘要:
每当我们买了新房子之后,相信绝大部分人都会进行装修,给房子增加一些其他新的物品。不过,无论如何装修,这个房子还是这个房子,最本质的东西并没有变,有的只是我们通过装修的方式,给这个房子增加了一些额外的功能….. 通过装修的方式,给房子增加一些我们想要的额外功能,这种方式,就类似于我们今天要讲的设计模式 阅读全文
摘要:
上篇我们讲解了观察者模式的一些知识,而且自定义观察者模式的经典代码,(传送们:设计模式走一遍—-观察者模式(上)) 这篇简单讲一下JDK自带的观察者模式实现代码。 对于观察者模式,JDK中提供了一个Observer接口(观察者),一个Observable类(主题对象)。 注:被观察者又被称为主题对象 阅读全文