
数据结构与算法
文章平均质量分 64
介绍基本数据结构与算法
摸鱼小小虫
3GAndroid外卖员
展开
-
【数据结构与算法】求直方图最大面积——动态规划
用left表示第i个柱子可以最多向左延伸至第left个柱子,形成一个矩形,right则表示向右延伸。遍历两次,分别计算出这两个构成的最大柱子宽度。再遍历一次,即可求出所有的柱子可以形成的最大的矩形面积。解释:最大的矩形为图中红色区域,面积为 10。原创 2022-11-13 14:30:35 · 448 阅读 · 3 评论 -
【数据结构与算法】递归为什么这么难?一篇文章带你了解递归
美国计算机科学家——彼得·多伊奇(L Peter Deutsch)在《程序员修炼之道》(The Pragmatic Programmer)一书中提到“To Iterate is Human, to Recurse, Divine”——我理解的这句话为:人理解迭代,神理解递归。文章列举了一些递归的经典操作包括:斐波纳契数列、汉诺塔、冒泡排序的递归写法。以及力扣的一些链表的练习题使用递归去完成原创 2023-10-27 19:00:39 · 1469 阅读 · 0 评论 -
【数据结构与算法】中缀表达式转后缀表达式,使用逆波兰计算。可以计算小数
传递一个分开保存符号与数字的List即可:List SumNumber;要求的List保存数据的方式如下:例如:1+2+3然后使用方法传递出一个保存好结果的String。原创 2023-07-23 17:56:44 · 418 阅读 · 0 评论 -
【数据结构与算法】单链表的排序算法(选择,冒泡,递归)
链表的选择排序思想与数组的排序类似,但是链表需要先找到里面最小或者最大的值,然后将这个值用改链语句进行操作。接下来我们进行排序,首先选取一个基准点,如何将比基准点大/小的值放左边,比基准点小/大的放右边。我们先看这个改链语句的操作(min是笔者打错了应该是max,但是图已经画好了就没有改)移动q这个指针找到最大的min,然后利用i保存q的前一个节点这样就能找到min_on.数组快速排序的思想和链表的一样,主要问题就是存在改链的操作。然后我们就可以将链表进行排序了,完整的代码如下。此时我们将2下沉到底部;原创 2022-11-27 19:29:34 · 8845 阅读 · 3 评论