![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 69
创意程序员
分享一些实用的技能和技巧
展开
-
天气这么好,都外出了。顺便了解一下漏桶算法
漏桶算法(Leaky Bucket)是网络世界中流量整形(Traffic Shaping)或速率限制(Rate Limiting)时经常使用的一种算法,它的主要目的是控制数据注入到网络的速率,平滑网络上的突发流量。又是一个阳光明媚的周末,大家都外出了,路上到处堵车,尤其是各桥梁、隧道入口处,很多车排队等着进入,而出口处就像一个漏桶一样,一辆车接着一辆车有序且匀速开出。总之,漏桶算法就像一个默默无闻的守护者,默默地保护着我们的生活和工作,让我们周末可以愉快地外出。看到标题,你想到了些什么呢?原创 2023-11-19 21:07:13 · 125 阅读 · 0 评论 -
C语言算法:一文搞懂穷举算法
穷举算法,顾名思义,就是通过列举所有可能的情况来寻找问题的解决方案。它的核心思想是将问题的所有可能解逐一列举出来,然后逐一判断,找出满足条件的解。原创 2023-11-15 13:48:56 · 1347 阅读 · 2 评论 -
C语言动态规划解决0-1背包问题
基本思路动态规划(Dynamic Programming,简称DP)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题,它能够将问题分解为相互独立的子问题,并将子问题的解存储起来,以便下次需要时直接使用,从而减少计算量,提高效率。最经典的例子就是0-1背包问题。0-1背包问题描述:给定一组物品,每种物品都有自己的重量和价值,在限定的总重量内,选取若干种物品,使得物品的总价值最大。原创 2023-11-11 19:06:39 · 1965 阅读 · 3 评论 -
Python算法:动态规划解决0-1背包问题
分析子问题“将前 i 件物品放入容量为 c 的背包中”,考虑第 i 件物品放或不放入背包,可以转化为一个只牵扯前 i-1 件物品的问题:如果不放第 i 件物品,那么问题就转化为“前 i-1 件物品放入容量为 c 的背包中”,价值为 f[i-1][c];如果放第 i 件物品,那么问题就转化为“前 i-1 件物品放入剩下的容量为 c-wi 的背包中”,此时能获得的最大价值就是 f[i-1][c-wi] 再加上通过放入第 i 件物品获得的价值 vi。所以按照这个方程递推完毕后,最终的答案一定是 f[i][c]。原创 2023-11-10 20:25:40 · 632 阅读 · 0 评论 -
一文搞懂穷举算法
穷举算法是一种简单直接的解决问题的方法,适用于小规模问题。随着问题规模的增大,计算量也会增长,导致效率降低(如穷举法破解密码)。因此,在实际应用中,需要根据问题的具体特点选择合适的算法。原创 2023-11-10 20:22:04 · 801 阅读 · 0 评论 -
极简二叉树
二叉树由一系列节点组成,每个节点最多有两个子节点,通常称为左子节点和右子节点。每个节点包含一个值和两个指向其子节点的指针。二叉树的遍历方式包括先序遍历、中序遍历和后序遍历。这些遍历方式描述了访问二叉树中节点的特定顺序。原创 2023-10-11 19:44:34 · 505 阅读 · 1 评论 -
栈和队列:理解与使用
栈是一种后进先出(LIFO)的数据结构,数据项按照后进先出的顺序存储和访问,最后进入栈的元素是第一个被访问和移除的元素。队列是一种先进先出(FIFO)的数据结构,数据项按照先进先出的顺序存储和访问,最先进入队列的元素是第一个被访问和移除的元素。栈常用于需要后进先出顺序的场景,如函数调用、表达式求值、括号匹配等。队列常用于需要先进先出顺序的场景,如任务调度、缓冲区管理、广度优先搜索等。原创 2023-05-12 13:49:44 · 1596 阅读 · 32 评论 -
Python算法:数论问题
数论是研究整数及其性质的数学学科。在数论中,研究的对象主要是整数、质数、素数、约数、同余、模运算等基本概念和性质。数论的问题简单而又充满了智慧,本文将探讨一些基本的数论问题和算法。原创 2023-05-08 13:56:55 · 1260 阅读 · 13 评论 -
C语言算法:数论问题
数论是研究整数及其性质的数学学科。在数论中,研究的对象主要是整数、质数、素数、约数、同余、模运算等基本概念和性质。数论的问题简单而又充满了智慧,本文将探讨一些基本的数论问题和算法。原创 2023-05-05 13:48:57 · 872 阅读 · 15 评论