1.4.数据结构与算法

本文通过24张图深入讲解九大常见数据结构,包括排序算法如插入排序、冒泡排序、快速排序等。同时,介绍了红黑树的基本特性和应用场景。此外,讨论了限流算法,如漏桶和令牌桶,以及它们在流量控制中的作用。最后,提到了动态规划和回溯算法在解决复杂问题中的应用。
摘要由CSDN通过智能技术生成

博客

图解!24张图彻底弄懂九大常见数据结构!

图解!24张图彻底弄懂九大常见数据结构!_数据结构图解_业余码农AmazingJ的博客-CSDN博客

排序算法

博客

数据结构常见的八大排序算法(详细整理):https://www.cnblogs.com/hokky/p/8529042.html

十大经典排序算法(动画演示):https://www.cnblogs.com/onepixel/articles/7674659.html

数据结构(三)用java实现其中排序算法:https://www.cnblogs.com/whgk/p/6596787.html

算法分类

  • 插入排序:
    • 直接插入排序:
    • 希尔排序:
  • 选择排序:
    • 简单选择排序:
    • 堆排序:
  • 交换排序:
    • 冒泡排序:
    • 快速排序:
  • 归并排序:
  • 基数排序:

【转】中缀表达式转换为后缀表达式:https://www.cnblogs.com/hantalk/p/8734511.html

B、B+树

3.B树与B+树:

https://www.cnblogs.com/vincently/p/4526560.html

红黑树

红黑树属于二叉搜索树(节点的值大于左子节点的值,小于右子节点的值),

满足以下条件:

根节点必须是黑色的;

任意从根到叶子节点的路径不能包含连续的红色节点;

任意从根到叶子节点的路径上的黑色节点数相同;

所有的叶子的子节点都是空节点,并且是黑色。

红黑树结构剖析:https://www.cnblogs.com/fanzhidongyzby/p/3187912.html

BitMap

面试官问:BitMap了解么?在什么场景下用过?碰到过什么问题?

面试官问:BitMap 了解么?在什么场景下用过?碰到过什么问题?

限流算法

博客

水满四溢【限流算法第四把法器:漏捅算法】- 第303篇

水满自溢「限流算法第四把法器:漏桶算法」- 第303篇 - 知乎

三种常见的限流算法(漏桶、令牌桶、滑动窗口):

三种常见的限流算法(漏桶、令牌桶、滑动窗口)_限流算法之漏桶算法、令牌桶算法_fedorafrog的博客-CSDN博客

令牌桶

介绍:

1.根据限流大小,设置按照一定的速率往桶里添加令牌

2.桶设置最大的放置令牌限制,当桶满时,新添加的令牌就被丢弃或者拒绝

3.请求到达后首先要获取令牌桶中的令牌,拿着令牌才可以进行其他的业务逻辑,处理完业务令牌直接删除即可。

4.令牌桶有最低限额,当桶中的令牌达到最低限额时,请求处理完之后将不会删除令牌,以此保证足够的限流。

应用:

Google的Guava包中的RateLimiter类就是令牌桶算法的解决方案。

漏桶

介绍:

漏桶算法其实可以粗略的认为是注水漏水过程。

1.桶中的水以一定的速率流出,

2.往桶中注水的速度是不确定的,当水桶中的水超出桶容量时则溢出丢弃,

3.因为桶容量是不变的,保证了整体的速率。

滑动窗

介绍:

1.滑动窗口算法主要包含三个属性,窗口大小,刷新间隔,以及窗口总容量。

2.滑动窗口以刷新间隔大小定时向前滑动,窗口大小内如果流量小于等于窗口总容量,可以正常处理,当窗口大小内流量大于窗口总容量,将丢弃处理

3.滑动窗口在每次向前滑动时,将丢弃末尾刷新间隔时长所处理的请求统计,加入窗口头部的流量统计。

应用场景:

TCP协议的数据包发送统计算法、

算法实现

1.动态规划:

滑动窗口;

多组数据动态维护所有选择条件。

2.回溯算法:

什么叫回溯算法,一看就会,一些就废:



450,什么叫回溯算法,一看就会,一写就废

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值