数据结构与算法
文章平均质量分 93
总结常用数据结构与算法
m0_70234528
这个作者很懒,什么都没留下…
展开
-
【动态规划】0-1背包问题
有 N 件物品和⼀个最多能放重量为 W 的背包。第 i 件物品的重量是 weight[i],得到的价值是 value[i]。每件物品只能用一次,求解将哪些物品装入背包里的物品价值总和最大。每⼀件物品都只有两个状态,取或者不取,因此可以使用回溯法搜索出所有的情况,那么时间复杂度就是 O(2^n),这里的 n 表示物品数量假设背包的最大重量为 4,物品如下:二维数组 dp[i][j] 表示从下标为 [0-i] 的物品里任意取,放进容量为 j 的背包,价值总和最大是多少可以有两个方向推出来 dp[i][j]:①原创 2023-05-27 11:42:07 · 308 阅读 · 0 评论 -
常见链表问题(整理)
一、数组与链表 作为线性表的两种存储方式 —— 链表和数组,这对相爱相杀的好朋友有着各自的优缺点。接下来,我们梳理一下这两种方式。 数组,所有元素都连续的存储于一段内存中,且每个元素占用的内存大小相同。这使得数组具备了通过下标快速访问数据的能力。但连续存储的缺点也很明显,增加容量,增删元素的成本很高,时间复杂度均为 O(n)。 增加数组容量需要先申请一块新的内存,然后复制原有的元素。如果需要的话,可能还要删除原先的内存。 删除元素时需要移动被删除原创 2023-04-19 20:33:49 · 448 阅读 · 0 评论