- 博客(7)
- 收藏
- 关注
原创 数据结构与算法-刷通二叉树2(Python)
二叉树系列二叉树算法的关键思路把题目的要求细化,搞清楚根节点应该做什么,进行前/中/后序遍历。654.最大二叉树(难度 Medium)提示:给定的数组的大小在 [1, 1000] 之间。class Solution: def constructMaximumBinaryTree(self, nums: List[int]) -> TreeNode: if not nums: return None if
2020-09-22 16:53:07 99
原创 数据结构与算法-刷通二叉树1(Python)
二叉树系列一、 二叉树的重要性二、写递归算法的秘诀三、算法实践学习资料源于大佬labuladong的公众号。一、 二叉树的重要性快速排序就是二叉树的前序遍历,归并排序就是二叉树的后序遍历快速排序: 先构造分界点,然后去左右子数组构造分界点;归并排序: 先对左右子数组排序,然后合并。二、写递归算法的秘诀递归算法的关键是要明确函数的 定义 是什么,利用这个定义推导最终的结果,绝不要试图跳入递归树相关的算法,先搞清楚当前root节点该做什么,然后根据函数定义递归调用子节点,让子节点做相同的事情
2020-09-22 12:38:22 105
原创 Datawhale编程实践LeetCode分类练习 - 4.双指针技术在链表中的应用(Python)
双指针技术在链表中的应用206. 反转链表19. 删除链表的倒数第N个节点83. 删除排序链表中的重复元素141. 环形链表148. 排序链表LeetCode上,Python单链表的定义# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = None206. 反转链表206. 反转链表(简单)
2020-09-09 21:28:01 88
原创 数据结构与算法-基础排序算法及TopK问题(Python)
冒泡排序插入排序堆排序归并排序快速排序TopK堆排序没有一个排序算法是任何情况下都表现最好的。
2020-09-07 21:32:07 816
原创 数据结构与算法-BFS 使用场景:层序遍历、最短路径问题(Python)
BFSDFS与BFS应用一:层次遍历应用二:最短路径相关题目层序遍历的一些变种题目网格结构中的最短路径在真正的图结构中求最短路径DFS与BFS如果只是要遍历树or图的所有结点,DFS和BFS差别不大,非递归写法,DFS借助栈stack,BFS借助队列queue。BFS的两个场景:「层序遍历」、「最短路径」应用一:层次遍历102. 二叉树的层序遍历(中等)# class TreeNode:# def __init__(self, x):# self.val = x#
2020-09-06 21:19:03 554
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人