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