- 博客(3)
- 收藏
- 关注
原创 对链表进行插入排序 leetcode147题
1、单向链表的排序区别于数组的随机存取,需要从链表的头节点开始往后遍历链表中的节点,找到需要插入的位置。 2、对链表进行插入排序的具体过程如下: ①首先判断链表是否为空,为空直接返回。 ②创建哑节点 dummyHead,令dummyHead.next = head。引入哑节点是为了便于在head节点之前插入节点。 ③创建lastSorted 使它一直作为链表的已排序部分的最后一个节点,初始时 lastSorted = head。 ④创建curr 使它一直作为待插入的元素,初始时 curr = head.ne
2021-08-05 11:39:38
59
原创 二叉树题目套路(动态DP)
1、DP算法思想 (1)将待求解的问题分解称若干个子问题,并存储子问题的解而避免计算重复的子问题,并由子问题的解得到原问题的解。 (2)动态规划算法通常用于求解具有某种最有性质的问题。 (3)动态规划算法的基本要素:最优子结构性质和重叠子问题。 最优子结构性质:问题的最优解包含着它的子问题的最优解。即不管前面的策略如何,此后的决策必须是基于当前状态(由上一次的决策产生)的最优决策。 重叠子问题:在用递归算法自顶向下解问题时,每次产生的子问题并不总是新问题,有些问题被反复计算多次。对每个子问题只解一次,然后将
2021-08-04 21:35:34
106
原创 C语言 指针与const
1.指针是const 表示一旦得到了某个变量的地址,不能再指向其他变量 int *const q = & i //q
2021-06-03 22:23:19
212
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人