![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
zxfhahaha
这个作者很懒,什么都没留下…
展开
-
【算法】刷题上常用的数据结构的方法
栈二叉树的迭代遍历要用到栈,java 创建栈 Deque<Integer> stack = new LinkedList<Integer>(); 常用方法:stack.isEmpty(); //判断是否为空stack.push(num);//入栈int num = stack.pop(); //出栈int top = stack.peek();//查看栈顶元素...原创 2021-02-27 12:20:57 · 165 阅读 · 0 评论 -
【算法】dfs总结
二叉树的迭代遍历用压栈的方法来进行迭代 ,最关键的是用null标志来区分每个递归调用栈,不同遍历顺序只用改变压栈顺序即可(先序遍历:右节点->左结点->根节点 //中序遍历: 右节点->根节点->左结点 //后序遍历: 根节点->右节点->左结点)我们在每次处理过的结点压栈后,在给他后面压一个空结点,这样栈顶元素如果是null就说明他下面的那个结点已经被处理过了,就直接访问就好了。这样前序遍历、中序遍历、后序遍历就统一了!class Solution {原创 2021-02-27 12:18:08 · 153 阅读 · 1 评论 -
【算法】排序问题整理
排序快排TopK问题使用堆解决使用快排快排选一个基数,使基数左边的都小于它,右边的都大于它,然后以基数为分界点对左右两边区间进行同样的操作class Solution { public int[] sortArray(int[] nums) { int n = nums.length; quickSort(nums,0,n-1); return nums; } public void quickSort(in原创 2021-02-27 09:11:55 · 119 阅读 · 0 评论 -
【算法】排序算法总结
冒泡排序(Bubble Sort)重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。算法复杂度冒泡排序总的平均时间复杂度为O(n2)O(n^2)O(n2)。接下来进行具体分析:①最好情况:初始状态是正序一趟扫描就可以完成,关键字比较次数C和记录移动次数M均达到最小值:Cmin=n−...原创 2019-10-14 10:33:38 · 613 阅读 · 0 评论