
算法
笑亦我醉
这个作者很懒,什么都没留下…
展开
-
排序算法之快速、归并、二叉树-堆排序详解
前言 关于排序算法的术语我就不再述说,不清楚的可以看我上一篇博文,在上篇博文我讲了一下关于冒泡、插入、选择排序,这都是非常基础的排序算法,今天我就深入一点,讲讲稍微复杂点的快速、归并以及二叉树-堆排序的原理。 快速排序 快速排序其实很简单,它采用了分治法的方式,何为分治法,就是把一个数组分成两块,取一个基数进行左右比较,这个基数通常是第一个数字,先进行左边比较,比它小,交换位置,再进行右边比较,比...原创 2019-10-24 16:38:01 · 489 阅读 · 0 评论 -
排序算法之冒泡、选择、插入排序详解
关于排序算法所涉及的术语 稳定排序:数组中a、b两个元素,如果是相等的,再排完序后不会交换位置。 原地排序:在排序过程中不会占用其他储存空间,利用原来储存数组的空间进行比较和交换完成排序。 时间复杂度:排序算法执行所消耗的时间 空间复杂度:排序算法执行所占用的空间 冒泡排序 冒泡排序其实就是对一组数组进行循环比较,第一次循环拿到一个元素,再第二次循环的时候进行比较,把小的元素往前调或者把大的元素往...原创 2019-10-17 14:37:38 · 267 阅读 · 0 评论 -
三种常用缓存淘汰算法
概述 计算机读取文件(数据库)的速度相对于读取内存的数据来说,效率要低得多,因此常用缓存来提高访问效率,而内存相比较于硬盘要小的多,为了缓存更有价值的数据,淘汰算法就显得尤为重要。 FIFO 先进先出,类似于队列,在数据结构上使用队列来实现 1.新访问的数据加入FIFO队列尾部,数据在FIFO队列顺序移动 2.淘汰FIFO头部的数据 LRU 最近最少使用,如果数据最近被访问,将来访问的机率也高,...原创 2019-09-11 15:18:41 · 1326 阅读 · 0 评论