算法
文章平均质量分 93
慕枫技术笔记
InfoQ签约作者,阿里云专家博主,一线大厂高级开发工程师,专注Java后端以及分布式架构,分享大厂面试经验以及简历编写指导
展开
-
重学数据结构与算法系列:一文讲透贪心算法
人之初性本善,但是随着自身的经历、生活环境等因素的影响,人逐渐会生出贪嗔痴。实际上不光人有贪念,我们的算法也会有贪念,今天就和大家介绍下一个有贪念的算法模型---贪心算法,看看一个算法是怎么产生贪念的。原创 2022-05-16 08:00:00 · 1171 阅读 · 44 评论 -
重学数据结构与算法系列:这玩意叫跳表?
跳表是一种用于数据查找的数据结构,它虽然不是常见的数据结构,但是在Redis、Hbase等中间件中却被广泛使用,是一款性能比较优秀的底层数据结构,可以支持高速的数据查找、删除以及插入。原创 2022-04-21 08:00:00 · 1569 阅读 · 23 评论 -
重学数据结构与算法系列:链表及其应用
链表是非常常用的基础数据结构,本文主要介绍了链表的数据结构特点及其典型的场景应用。我们在实际编程的时候,如果进行数组的定义,那么就需要向系统申请连续的内存空间进行数据数据的存储。但是对于链表来说,它并不需要连续的内存空间。每个链表节点都存在指向下一个节点的地址,基于这种独特的数据结构,链表可以将不连续的内存区域串联起来进行数据存储。本文主要给大家介绍下三种非常常见的链表结构,分别是单链表、循环链表以及双向链表。单链表就如上文讲述的那样,链表数据结原创 2022-03-12 09:33:34 · 1600 阅读 · 20 评论 -
重学数据结构与算法系列:时间复杂度与空间复杂度
相信大家都听说过程序的本质就是算法加数据结构的说法,因此如果我们想程序跑的速度既快又非常节省资源。那么就需要好好设计程序的执行算法以及数据结构。这就涉及到一个问题,我们在写代码的时候怎么去评判一段代码到底是不是跑得快又省资源的呢?这个时候我们就需要借助于时间复杂度以及空间复杂度分析来进行分析了。原创 2022-02-04 11:34:41 · 605 阅读 · 16 评论 -
算法系列之栈和队列(一):设计一个栈,可以获取栈中最大值以及最小值
引言从本篇开始,会持续写一点关于算法以及面试题目的微博,主要是网上一些笔试题中关于算法的部分,这些题目来自于网络以及书籍中。主要会进行题目的分析以及编码实现。一、题目实现一个获取栈中最小值的栈,除了需要实现栈的基本功能,还需要可以获取栈中最小值的功能二、分析栈的基本功能就是先入后出,基本功能的话一个栈就可以实现了。但是如果需要另外实现获取栈中最小值,则需要另外一个栈去存储这...原创 2018-09-02 13:19:51 · 1752 阅读 · 0 评论 -
算法系列之栈和队列(二):用栈实现一个队列,要求可以实现队列的基本操作
一、题目需要实现一个类,使用两个栈实现队列的基本操作,包括add、poll、peek。二、分析栈的特性是先入后出,队列的特点是先入先出。所以设计的时候两个栈中,一个负责数据压入,一个负责数据弹出。当数据弹出的时候必须从弹出堆栈中进行统一弹出,同时在数据弹出之前,必须将数据压入堆栈中的数据全部压入弹出堆栈中。因为如果不是全部压入的话,在弹出的过程中就会破坏队列要求的先入先出的顺序。同...原创 2018-09-08 16:45:45 · 544 阅读 · 0 评论 -
算法系列之算法学习书籍以及资料推荐
算法资料推荐原创 2019-01-04 22:04:58 · 7638 阅读 · 1 评论