算法与数据结构
文章平均质量分 96
程序=算法+数据结构
知识汲取者
路虽远,行则将至;事虽难,做则必成
展开
-
十大常见排序算法详解(附Java代码实现和代码解析)
大家好👋,我是知识汲取者😄,今天要给大家带来一篇有关排序的文章,相信大家一定在工作中或生活中接触过不少有关排序的问题吧,比如:生活中,我们在课间做体操时的排队(根据身高排序)、考试的排名(根据分数排序)、报道后老师点名(根据序号排序)……工作中,我们需要对某个表按照id进行排序、或者按照姓名的首字母进行排序,这些都是很常见的,当然这些都是可以直接手动调用一个函数就能一键完成,并不需要我们去具体实现,但是大家难道就不好奇为什么我点一下就能直接实现这个排序功能呢?它是怎么实现的呢?原创 2023-10-02 00:39:17 · 1095 阅读 · 0 评论 -
【数据结构篇】堆
本文主要是对堆的一个简单介绍,如果你是刚学数据结构的话,十分推荐看这篇文章,通过本文你将对堆这个数据结构有一个大致的了解,同时学习JDK自带的堆实现类类,如何基于数组手写一个堆。什么是堆?堆(Heap)是一种常见的数据结构,堆可以基于数组实现,也可以基于链表实现。堆的定义如下:n个元素的序列k1k2kiknk1k2kikn当且仅当满足下关系kik2ikik2i1ki原创 2023-09-30 20:00:38 · 849 阅读 · 0 评论 -
常见限流算法学习
本文主要讲解常见的几大限流算法,包括:**固定窗口计数器限流算法**、**滑动窗口计数器限流算法**、**漏桶限流算法**、**令牌桶限流算法**,此外还会讲解如何使用**Sentinel**、谷歌提供的Guava工具包中的**RateLimiter**限流工具类实现限流,如果你觉得本文对你有所帮助,欢迎点赞,您的鼓励将是我持续输出的动力> PS:如果文中有描述不当、错误、侵权的地方还恳请您能告知博主,博主将立即做出修改,同时将送上我真挚的感谢🌹原创 2023-09-24 22:45:50 · 698 阅读 · 1 评论 -
【数据结构篇】手写双向链表、单向链表(超详细)
什么是链表?链表(Linked List)是用链式存储结构实现的线性表。链表的组成数据域引用域(数据域和引用域合称结点或元素)数据域存放数据元素自身的数据引用域存放相邻结点的地址链表的特点链表中元素的联系依靠引用域具有线性结构的特点,链表所使用的逻辑结构是线性结构具有链式存储结构的特点,所使用的物理存储结构是链式存储链表的分类单向链表:单链表是一种最简的链表,只有一个引用域1next特点:通过next可以访问到后继结点,终端结点的引用域指向null双向链表:具有两个引用域prev和next。原创 2023-08-05 21:48:36 · 3265 阅读 · 1 评论 -
【数据结构篇】手摸手带你学会如何手写一个栈
什么是栈?栈(stack)又名堆栈,它是一种运算受限的线性表,它只允许再表的一端进行插入和删除操作,这一端也称作栈的栈顶(Top),另一端称作栈底(Bottom)。栈的特点:栈中的数据元素先进后出(Last In First Out),所以也称栈为LIFO表栈的分类顺序栈和链栈顺序栈是指使用顺序存储结构实现的栈链栈是指使用链式存储结构实现的栈栈的应用:表达式求值、回溯功能的实现栈的基本操作出栈,获取栈顶的元素(栈中元素减一)入栈,向栈中添加一个元素E peek()取栈顶元素。原创 2023-08-04 23:14:18 · 1242 阅读 · 3 评论 -
数据结构与算法导学
本文主要是对数据结构与算法的一个认知概述,面向刚学、想学数据结构与算法这门课的。通过本文你将了解什么是数据结构、算法,以及数据结构的分类,后续将持续更新相关章节原创 2023-05-05 20:22:01 · 698 阅读 · 0 评论