数据结构和算法 | 这次用近万字的讲解带你干掉堆!【3】 发表于 2020-09-15 | 分类于 数据结构和算法 | 0 | 阅读次数 2242 1. 前言大家好,我是多选参数的程序锅,一个正在捣鼓操作系统、学数据结构和算法以及 Java 的失业人员。最近忙着搞论文,还有刷刷 LeetCode 上的题,推文的事被耽误了一下,但是并没有忘记要发推文,虽迟但到吧。整篇文章的主要知识提纲如图所示,本篇相关的代码都可以从 https://github 阅读全文 »
数据结构和算法 | 索引是什么【高阶】 发表于 2020-09-13 | 分类于 数据结构和算法 | 0 | 阅读次数 1601 1. 索引是什么?索引这个概念就好比书的目录,要查找的数据就是某个知识点。如果没有目录,那么我们要去查找某个知识点的时候,就要一页一页的翻。但是,有了目录之后,我们通过目录即可定位到相关知识点的页数,从而提高查找的速度。同理,索引的作用也是如此。2. 为什么需要索引?在实际的软件开发中,功能千遍万换 阅读全文 »
深入理解程序 | 源文件变成可执行文件的过程 发表于 2020-09-11 | 分类于 深入理解程序 | 0 | 阅读次数 2128 一个C语言文件从源文件到变成可执行文件,主要经过以下四个阶段:预编译(Prepressing),编译(compilation),汇编(assembly),链接(linking)。整个过程如图所示:通常编译和链接合并在一起的过程称为构建(build)1. 预编译预编译是指源代码文件 .c 和相关的头文 阅读全文 »
数据结构和算法 | 位图和布隆过滤器【高阶】 发表于 2020-09-07 | 分类于 数据结构和算法 | 0 | 阅读次数 2998 1. 怎么来的?假设我们有 1 千万个整数,整数的范围是 1 到 1亿之间。如果给定一个整数,查询其是否在这 1 千万个整数之中?那么我们可以使用顺序查找、二分查找(有序前提下)、跳表查找、散列表查找、红黑树查找等等都可以。但是这些方法的话,都需要将这 1 千万个整数全都存储下来,有没有更加节省内存 阅读全文 »
数据结构和算法 | Redis 有序集合使用的跳表到底是什么【6】 发表于 2020-09-01 | 分类于 数据结构和算法 | 0 | 阅读次数 3870 1. 跳表的概念跳表是一个动态数据结构,可以支持快速地插入、删除、查找操作,写起来也不怎么复杂,甚至可以替代红黑树。跳表的空间复杂度是 O(n),时间复杂度是 O(logn)。对于一个有序的单链表来说,如果想要查找一个数据也只能从头到尾遍历链表。为了提高查询的效率,我们可以借助索引,即对链表构建一级 阅读全文 »
数据结构和算法 | 图的讲解【3】 发表于 2020-08-28 | 分类于 数据结构和算法 | 0 | 阅读次数 2461 1. 基本概念图的基本概念中我们需要掌握的有这么几个概念:无向图、有向图、带权图;顶点(vertex);边(edge);度(degree)、出度、入度。下面我们就从无向图开始讲解这几个概念。如图所示是一个无向图,图中的元素(A、B、C、D、E、F)被称为顶点(vertex),顶点可以与任意顶点建立连 阅读全文 »
Vim 基础和常用命令整理 发表于 2020-08-27 | 分类于 Linux | 0 | 阅读次数 2515 Vim 的模式Vim 相比其他编辑器最特别的地方应该是它的模式。进入 Vim 后,在缺省状态下,你键入的字符并不会插入到所编辑的文件中。下面来介绍以下 Vim 的四种模式:正常模式(normal mode,也被称为普通模式):缺省状态下的编辑模式,一般用到的命令都是在这个模式下的。另外,在任何其他模 阅读全文 »
数据结构和算法 | 万字长文带你掌握九大排序的原理、Java 实现以及算法分析【6】 发表于 2020-08-27 | 分类于 数据结构和算法 | 0 | 阅读次数 2393 0. 前言大家好,我是多选参数的程序锅,一个正在捣鼓操作系统、学数据结构和算法以及 Java 的失业人员。数据结构和算法我已经学了有一段日子了,最近也开始在刷 LeetCode 上面的题目了,但是自己感觉在算法上还是 0 ,还得猛补啊。今天这篇基于之前的 8 大排序算法基础之上,增加一个堆排序,也就 阅读全文 »
容器 | 三天肝了两本书,先整一份 1.5w 字 + 20 张图的高级 Docker 入门来学习一下 发表于 2020-08-27 | 分类于 容器 | 0 | 阅读次数 2838 1. 前言大家好,我是多选参数的程序锅,一个正在捣鼓操作系统、学数据结构和算法以及 Java 的失业人员。这是我肝了 3 天,参考了两本书和一些博客之后,整理的一份关于 Docker 的高级入门。为啥说是高级入门呢?因为它比入门要深,但是比深入又要浅。很早之前,我就接触过 Docker,但是没怎么用 阅读全文 »
数据结构和算法 | 二分查找大家都会,那么二分查找的变体呢?【6】 发表于 2020-08-22 | 分类于 数据结构和算法 | 0 | 阅读次数 2802 1. 前言大家好,我是多选参数的程序锅,一个正在”捣鼓“操作系统、学数据结构和算法以及 Java 的硬核菜鸡。二分查找大家估计都会,但是二分查找的变体大家会吗?我相信你是会的,我这个菜鸡就是不会了,所以在学习二分查找变体的时候,我感觉发现了新大陆。为了整个知识的相对完整,下面还是从最基本的二分查找开 阅读全文 »