
数据结构
强运
这个作者很懒,什么都没留下…
展开
-
希望你能理解的快速排序 --- 用12张图 细节图解快速排序 !!
首先说一下快排的基本概念,从一个数组里面选一个基础值,然后将数组里所有大于这个基础值的数放到右边,小于这个基础值的放到左边。 结合着以下观念看下方12张图,理解具体如何实现(可以先看图) 将数组的第一个值8,拿出来,作为基础值,并存储到变量number中,让arr[0]空出来以供插入。 从右往左开始比,是因为左边arr[0]空了出来,右边要是有比number(也就是8)大的数字,就可以直接移动到arr[0] (如图3,图4)。 下标移动只有在: (如图5, 图6) a. 左下标比number小 b. 右下原创 2020-09-13 19:33:06 · 729 阅读 · 0 评论 -
希望你能懂的动态规划算法-----硬币问题
1. 题目如下 2. 动态规划思路 动态规划的具体思路: 如上图 : 1. 第一层的dp(11)表示没有硬币加入 2. 第二层的1+dp(11-1)表示硬币1加入 (+1表示有一个硬币加入) 3. 第三层 得到dp(0) 实现上述方法, 我们要求出dp(1) dp(2) dp(3)…都等于多少就可以得到dp(11)的值 表格1:我们求出当只有硬币1 的时候dp(0)到dp(11)的所需的硬币个数 分别为 dp(1) 1个 dp(2) 2个 … … … dp(11) 11个 详细计算看 表格2原创 2020-09-09 18:50:00 · 818 阅读 · 0 评论 -
JS链表的创建、插入、删除 以及链表合并
class node { next: null | node; value: any; constructor(value: any) { this.value = value; this.next = null; } } class linkedList { head: null | node; length: number; constructor() { this.head = null;原创 2020-07-30 18:33:36 · 335 阅读 · 0 评论