排序算法五:堆排序 数据结构和算法

排序算法五:堆排序

一、堆排序原理 通过最大堆的性质可以知道:一个堆中最大的元素总是在堆顶的,即数组下标0的位置。基于这一点,我们可以每次都把堆中的最大值提取出来,放到当前数组的后面。然后重新构建最大堆,重复这个过程,以...
阅读全文
数据结构之堆 数据结构和算法

数据结构之堆

一、堆 堆是一种数据结构,通常通常所说的堆即二叉堆。二叉堆是一个数组,可以被看成一个完全二叉树,如下图所示: 他在数组中的表现形式为: 通过数组很容易得到每个父节点和其子节点的关系,假设数组的起始下标...
阅读全文
进程和线程的区别 操作系统

进程和线程的区别

一、两者对比 进程是最小的资源分配单位,线程是最小的执行单位: 每个进程至少有一个线程,任务的执行都是由线程来完成,也就是说,线程时进程运行时的实体。 线程运行时依赖进程中分配的资源,一个进程可以有多...
阅读全文
给alpine的docker镜像添加bash支持

给alpine的docker镜像添加bash支持

alpine是一个轻量级的linux系统,由于太轻量了,目前被广泛用于docker镜像的制作上了(最新版的docker镜像才5M)。 体积小就有缺点了,缺点就是内部除了基本的命令以外,大部门的功能都不...
阅读全文