摘要: 为什么循环队列要浪费一个存储空间 单向队列会出现“假溢出”问题,而循环队列却能解决“假溢出”问题。常规的循环队列实现方法需要浪费一个存储空间,那么如果不浪费一个空间是否也能实现一个循环队列呢? 阅读全文
posted @ 2022-01-14 13:12 双子孤狼 阅读(315) 评论(0) 推荐(2) 编辑
摘要: 手把手带你利用栈来实现一个简易版本的计算器 一文掌握栈的四大经典应用场景:括号配对,表达式求值,浏览器前进后退,函数调用;手把手实现一个简易版本的计算器 阅读全文
posted @ 2022-01-10 12:52 双子孤狼 阅读(316) 评论(3) 推荐(1) 编辑
摘要: 如何判断链表中是否有环并找出环的入口位置 假如一个链表中存在环,那么可以利用哈希法和双指针法来判断是否存在环,同时,利用三指针就可以找到环的入口位置 阅读全文
posted @ 2022-01-07 08:56 双子孤狼 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 前言 链表和数组一样,是一种线性的数据结构,算法中的链表操作一般都针对单向链表,因为单向链表比较简单但是又比较能考研编程者的思维能力。虽然单向链表比较简单,但是要写好链表的代码也不是一件容易的事,掌握好链表有几个关键点:首先就是要防止指针丢失,然后就是我们可以引入哨兵来简化链表的操作,最后巧妙的利用 阅读全文
posted @ 2022-01-04 09:07 双子孤狼 阅读(271) 评论(0) 推荐(2) 编辑
摘要: 算法基础之数组的增删改查和双指针思想的妙用 前言 数组是一种非常基础的数据结构,很多人都会觉得数组非常简单,在我们使用的编程语言当中几乎都有数组这种数据结构,我们平常使用的也非常广泛。虽然如此,但是我们真的完全了解数组吗?比如数组为什么可以支持随机访问,数组具体有哪些特性,我们如何高效的实现在数组中插入或者删除一个元素,这些问题大家是否都能不 阅读全文
posted @ 2021-12-24 22:06 双子孤狼 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 前言 作为一名“程序猿”,大家应该都听过这么一句话:程序=数据结构+算法。 这句话是由瑞士计算机科学家尼古拉斯·沃斯(Niklaus Wirth)在 1984 年获得图灵奖时说的一句话,这位大佬还以这句话为名出了一本书《Algorithms + Data Structures=Programs》,从 阅读全文
posted @ 2021-12-11 07:36 双子孤狼 阅读(3472) 评论(10) 推荐(28) 编辑
摘要: 分布式架构的演进 在软件行业,一个应用服务随着功能越来越复杂,用户量越来越大,尤其是互联网行业流量爆发式的增长,导致我们需要不断的重构应用的结构来支撑庞大的用户量,最终从一个简单的系统主键演变成了一个非常复杂的可以支撑高并发的高可用的分布式架构,但是一个系统再复杂也是不断演变来的,所以从另一方面来说 阅读全文
posted @ 2021-12-05 15:28 双子孤狼 阅读(332) 评论(0) 推荐(1) 编辑
摘要: 前言 在面试中,经常被问到 Spring 的 IOC 和 DI(依赖注入),很多人会觉得其实 IOC 就是 DI,但是严格上来说这两个其实并不等价,因为 IOC 注重的是存,而依赖注入注重的是取,实际上我们除了依赖注入还有另一种取的方式那就是依赖查找,可以把依赖注入和依赖查找都理解成 IOC 的实现 阅读全文
posted @ 2021-11-27 21:24 双子孤狼 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 前言 在 Spring 框架中,大家耳熟能详的无非就是 IOC,DI,Spring MVC,AOP,这些是 Spring 中最基础的核心功能,再高级点的功能就还有数据数据访问模块(JDBC,ORM,事务等)。Spring 本身的扩展性也做得非常好,源码当中也是运用了大量设计模式来实现,了解 Spri 阅读全文
posted @ 2021-11-05 22:42 双子孤狼 阅读(293) 评论(0) 推荐(1) 编辑
摘要: 前言 索引可能大家都不陌生,在用关系型数据库时,一些频繁用作查询条件的字段我们都会去建立索引来提升查询效率。在关系型数据库中,我们一般都采用 B 树索引进行存储,所以 B 树索引也是我们接触比较多的一种索引数据结构,然而在 es 中,进行全文搜索的时候却并没有选择使用 B 树 索引,而是采用的倒排索 阅读全文
posted @ 2021-10-26 10:17 双子孤狼 阅读(826) 评论(2) 推荐(1) 编辑