07 2021 档案

摘要:我们在字符串匹配算法(一)学习了BF算法和RK算法,那有没更加高效的字符串匹配算法呢。我们今天就来聊一聊BM算法。 BM算法 我们把模式串和主串的匹配过程,可以看做是固定主串,然后模式串不断在往后滑动的过程。当遇到不匹配的字符时,BF算和RK算法的做法是,把模式串向后滑动一位,然后从模式串的第一位开 阅读全文
posted @ 2021-07-31 21:00 公众号程序员学长 阅读(281) 评论(0) 推荐(0) 编辑
摘要:字符串匹配在工作中我们经常会用到,同时也是各大公司面试中的常考题目。字符串匹配的算法有很多,所以需要深入学习的东西也有很多。我们接下来会有一系列的文章去把字符串匹配算法尽量说明白。 今天我们主要聊一下单模式串匹配算法 即一个串去跟另外一个串去比较。在开始之前,为了后续方便讲解,我们先明确两个定义,即 阅读全文
posted @ 2021-07-30 22:44 公众号程序员学长 阅读(502) 评论(0) 推荐(0) 编辑
摘要:Redis实例在运行的时候,要和许多对象进行交互,这些不同的交互对象会有不同的操作。下面我们来看看,这些不同的交互对象以及相应的主要操作有哪些。 客户端:键值对的增删改查操作。 磁盘:生成RDB快照、记录AOF日志、AOF日志重写。 主从节点:主库生成、传输RDB文件,从库接受RDB文件、清空数据库 阅读全文
posted @ 2021-07-30 10:03 公众号程序员学长 阅读(561) 评论(1) 推荐(0) 编辑
摘要:​ 我们在 Redis持久化机制你学会了吗?学习了AOF和RDB,如果Redis宕机,他们分别通过回放日志和重新读入RDB文件的方式恢复数据,从而提高可靠性。我们今天来想这么一个问题,假如我们只部署了一台Redis实例,如果这个实例宕机了,那么它在恢复期间,是无法提供数据存取请求的,这样就会使得服务 阅读全文
posted @ 2021-07-28 17:59 公众号程序员学长 阅读(240) 评论(0) 推荐(0) 编辑
摘要:堆这种数据结构应用场景很多,最经典的莫过于堆排序。堆排序是一种原地的、时间复杂度为O(nlogn)的排序算法。我们今天就来分析一下堆这种数据结构。 一、什么是堆 堆是一种特殊的树。只要满足以下两点,就称为堆。 堆是一个完全二叉树。 堆的每一个节点的值都必须大于等于(或小于等于)其子树中每个节点的值。 阅读全文
posted @ 2021-07-27 08:33 公众号程序员学长 阅读(4316) 评论(0) 推荐(0) 编辑
摘要:堆这种数据结构应用场景很多,最经典的莫过于堆排序。堆排序是一种原地的、时间复杂度为O(nlogn)的排序算法。我们今天就来分析一下堆这种数据结构。 一、什么是堆 堆是一种特殊的树。只要满足以下两点,就称为堆。 堆是一个完全二叉树。 堆的每一个节点的值都必须大于等于(或小于等于)其子树中每个节点的值。 阅读全文
posted @ 2021-07-25 16:17 公众号程序员学长 阅读(476) 评论(0) 推荐(0) 编辑
摘要:​ 曾经看到这么一个案例,有一个团队需要开发一个图片存储系统,要求这个系统能快速记录图片ID和图片存储对象ID,同时还需要能够根据图片的ID快速找到图片存储对象ID。我们假设用10位数来表示图片ID和图片存储对象ID,例如图片的ID为1101021043,它所对应的图片存储对象的ID为2301010 阅读全文
posted @ 2021-07-24 11:28 公众号程序员学长 阅读(359) 评论(0) 推荐(0) 编辑
摘要:在数据结构中,散列表和链表经常会组合在一块使用,如果你对java很熟悉,你会发现LinkedHashMap这样一个常用的容器,也把散列表和链表组合起来使用。那散列表和链表是如何组合使用的,他们组合在一起能碰撞出什么火花,请跟随我的脚步,一起一探究竟。 我们先思考这么一个问题,如何使用链表来实现LRU 阅读全文
posted @ 2021-07-23 11:22 公众号程序员学长 阅读(196) 评论(2) 推荐(1) 编辑
摘要:大家都知道Redis经常被使用在缓存的场景中,那有没有想过这么一个问题,一旦服务器宕机,内存中的数据全部丢失,我们该如何进行恢复呢?如果直接从后端数据库恢复,不仅会给数据库带来巨大的压力,还会使上层应用响应变慢。所以redis的持久化机制是很重要的。接下来我们一起来探讨一下Redis的持久化机制。目 阅读全文
posted @ 2021-07-21 12:23 公众号程序员学长 阅读(574) 评论(0) 推荐(0) 编辑
摘要:据统计,广东省人口已经突破一亿人,是中国人口最多的省份,那么我们如何快速给广东省人口按照年龄来排序呢?大家都知道快速排序的时间复杂度是O(nlogn),那还有比快速排序更快的算法吗?那就跟我来一探究竟。 计数排序 计数排序的思想很简单:当要排序 n 个数据,并且n的取值范围并不大的时候,比如最大值是 阅读全文
posted @ 2021-07-20 10:28 公众号程序员学长 阅读(736) 评论(2) 推荐(0) 编辑
摘要:在了解什么是迭代器和生成器之前,我们先来了解一下容器的概念。对于一切皆对象来说,容器就是对象的集合。例如列表、元祖、字典等等都是容器。对于容器,你可以很直观地想象成多个元素在一起的单元;而不同容器的区别,正是在于内部数据结构的实现方法。然后,你就可以针对不同场景,选择不同时间和空间复杂度的容器。 所 阅读全文
posted @ 2021-07-20 09:59 公众号程序员学长 阅读(64) 评论(0) 推荐(0) 编辑
摘要:一、什么是页面置换算法 在进程运行的过程中,若其访问的页面不存在内存中,则会产生缺页中断。如果此时内存中没有空闲的页面,操作系统就需要在内存中选择一个页面将其移出,从而可以将需要访问的页面调入内存中。而用来选择淘汰哪一页的算法就叫做页面置换算法。 好的页面置换算法有较低的页面更换频率。 二、常见的页 阅读全文
posted @ 2021-07-19 17:35 公众号程序员学长 阅读(1183) 评论(1) 推荐(1) 编辑
摘要:数据库有很多,为什么Redis能有如此突出的表现呢?一方面,因为它是内存数据库,所有操作都在内存上完成。另外一方面就要归功于他的数据结构。高效的数据结构是Redis快速处理的基础。今天我们就来聊聊了Redis的数据类型以及对应的数据结构。 首先Redis有5大基本类型: 1.String(字符串) 阅读全文
posted @ 2021-07-19 11:10 公众号程序员学长 阅读(901) 评论(2) 推荐(0) 编辑
摘要:排序对于大家来说肯定都不陌生,我们在平常的项目里都会或多或少的用到排序功能。排序算法作为一个最基础最常用的算法,你真的学会了吗?下面我来带领大家由浅入深的学习一下经典的排序算法。 如何分析一个排序算法 学习排序算法,我们不仅要学习它的算法原理、代码实现,更要学会如何评价、分析一个排序算法。分析一个排 阅读全文
posted @ 2021-07-17 12:48 公众号程序员学长 阅读(369) 评论(0) 推荐(0) 编辑
摘要:​什么是上下文管理器 对于像文件操作、连接数据库等资源管理的操作,我们必须在使用完之后进行释放,不然就容易造成资源泄露。为了解决这个问题,Python的解决方式便是上下文管理器。上下文管理器能够帮助你自动分配并且释放资源,其中最典型的应用便是with语句。我们来看一下打开文件的例子。 for x i 阅读全文
posted @ 2021-07-12 18:28 公众号程序员学长 阅读(255) 评论(0) 推荐(0) 编辑
摘要:正确合理地使用并发编程,无疑会给我们的程序带来极大的性能提升。今天我就带大家一起来剖析一下python的并发编程。这进入并发编程之前,我们首先需要先了解一下并发和并行的区别。 首先你需要知道,并发并不是指同一时刻有多个操作同时进行。相反,某个特定的时刻,它只允许有一个操作发生,只不过线程或任务之间会 阅读全文
posted @ 2021-07-12 08:40 公众号程序员学长 阅读(297) 评论(0) 推荐(0) 编辑
摘要:今天你的咖啡加糖了吗? 让我们通过一个简单的例子来引出装饰器的概念及用法。在引出装饰器之前,我们先来了解一下函数的概念。 一、函数回顾 1、在python中函数是一等公民,函数也是对象。我们可以把函数赋予变量。 def make_cofe(type): print('获得一杯 : {}'.forma 阅读全文
posted @ 2021-07-11 10:31 公众号程序员学长 阅读(235) 评论(0) 推荐(0) 编辑
摘要:在学习协程之前,你需要先知道协程是什么?协程又称为微线程,一个程序可以包含多个协程,可以对比与一个进程包含多个线程,因而下面我们来比较协程和线程。我们知道多个线程相对独立,有自己的上下文,切换受系统控制;而协程也相对独立,有自己的上下文,但是其切换由自己控制。 协程是一个线程执行,两个子过程通过相互 阅读全文
posted @ 2021-07-10 17:15 公众号程序员学长 阅读(119) 评论(0) 推荐(0) 编辑
摘要:在了解什么是迭代器和生成器之前,我们先来了解一下容器的概念。对于一切皆对象来说,容器就是对象的集合。例如列表、元祖、字典等等都是容器。对于容器,你可以很直观地想象成多个元素在一起的单元;而不同容器的区别,正是在于内部数据结构的实现方法。然后,你就可以针对不同场景,选择不同时间和空间复杂度的容器。 所 阅读全文
posted @ 2021-07-08 18:32 公众号程序员学长 阅读(57) 评论(0) 推荐(0) 编辑
摘要:​ 曾经和阿里、腾讯媲美的百度,目前竟沦落为一个估值的计量单位,市值先后被拼多多、美团等超越。由于过去5年,百度的发展实在太过糟糕,口碑也不是很好,不少投资者已经彻底放弃了这家公司,那百度未来的想象空间还有吗? 要想了解百度的未来,我们首先就需要了解他的历史。过去二十多年,百度经历了搜索和移动互联网 阅读全文
posted @ 2021-07-07 18:37 公众号程序员学长 阅读(53) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示