
数据结构与算法
Lucius_Keep_Going!
新人还请各位多多批评指正!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
回溯算法的套路/BFS/DFS
回溯算法框架result = []def backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择 backtrack(路径, 选择列表) 撤销选择全排列问题返回一个数组元素的全排列力扣:46. 全排列List<List<Integer>> res = new LinkedList&l原创 2020-09-11 21:38:11 · 303 阅读 · 0 评论 -
二叉树和二叉搜索树(BST)的秒杀方法
二叉树回溯算法框架void method(TreeNode root) { // root 需要做什么?在这做。 // 其他的不用 root 操心,抛给框架 method(root.left); method(root.right);}来看看这个框架能够秒杀哪些类型的题目二叉树的镜像void mirror(TreeNode root) { // root 需要做什么?左右互换 // 其他的不用 root 操心,抛给框架 if(root=原创 2020-09-10 14:23:57 · 187 阅读 · 0 评论 -
二分查找的前前后后
最普通的二分查找(无重复元素的有序数列)int binary_search(int[] nums, int target) { int left = 0, right = nums.length - 1; while(left <= right) { int mid = left + (right - left) / 2; if (nums[mid] < target) { left = mid + 1;原创 2020-09-09 10:45:14 · 173 阅读 · 0 评论 -
全排列-DFS
复仇Bytedance之路 题目描述:给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]题解其实像这种类型的题目有很多,因此dfs是一种必须要掌握的方法DFS视频讲解深度优先搜索class Solution { public List<List<Integer>> perm.原创 2020-07-03 21:03:22 · 120 阅读 · 0 评论 -
常见排序算法总结—Java实现
0. 总结表格相关概念稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。(不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。时间复杂度:对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。空间复杂度:是指算法在计算机内执行时所需存储空间的度量,它也是数据规模n的函数。1. 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作原创 2020-06-28 14:10:40 · 564 阅读 · 0 评论 -
链表/队列/栈/集合/Map/树/堆
文章目录Java集合框架层次结构数组链表栈队列集合HashSetLinkedHashSetTreeSetMapHashMapLinkedHashMapTreeMapHashTableHashTable与HashMap的区别树二叉树满二叉树和完全二叉树:二叉查找树(BST)平衡二叉树AVL树红黑树AVL树和红黑树的区别B树和B+树B树(B-树)B+树堆大顶堆小顶堆Java集合框架层次结构首先给出Java集合框架的基本接口/类层次结构:java.util.Collection [I] +--jav原创 2020-08-08 16:52:30 · 717 阅读 · 0 评论