数据结构
文章平均质量分 58
鱼子酱:P
be brave be free
展开
-
常见数据结构
·原创 2022-07-31 16:17:40 · 246 阅读 · 0 评论 -
二叉树的遍历:递归法/ 迭代法/ 统一迭代法(强QAQ)
最近刷题刷到二叉树...算法面试的常客,数据结构基石...见到许多厉害的解法,膜拜啊~特此记录一下2022/3/24力扣对应题目:144,145,94一:递归法一看就会,一写就废!~简单解法前序遍历:class Solution { public List<Integer> preorderTraversal(TreeNode root) { List<Integer> result = new ArrayList<In.原创 2022-03-24 10:04:23 · 910 阅读 · 0 评论 -
排序总结(详细)
插入排序是指在待排序的元素中,假设前面n-1(其中n>=2)个数已经是排好顺序的,现将第n个数插到前面已经排好的序列中,然后找到合适自己的位置,使得插入第n个数的这个序列也是排好顺序的。 按照此法对所有元素进行插入,直到整个序列排为有序的过程,称为插入排简单来说:它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。思路:将一组待排序的序列,第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。从头到尾依次扫描未排序序列....原创 2021-12-26 21:14:10 · 670 阅读 · 0 评论 -
java中priorityQueue的理解与使用 | 堆的创建向下调整向上调整
1.引言前面学习了Stack和Queue,其实还有一种特殊的队列叫PriorityQueue,即优先级队列。优先级队列的作用是保证每次取出的元素都是队列中权值最小的(java中是最小的,C++中是最大的)数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。 这种数据结构就是优先级队列(Priority Queue)2.关于Priority Queue 使用时要注意不能放入null对象,否则会报NUllPointrException 插入的元素必须是能够比较大小原创 2021-11-13 10:03:31 · 1096 阅读 · 0 评论 -
#平衡二叉树 #完全二叉树
1.判定一个二叉树是否是平衡二叉树求出左右子树的高度 求出高度差的绝对值与1 比较public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } }class Solution { public int height(TreeNode root){ if(root==null){ re..原创 2021-11-10 15:43:49 · 403 阅读 · 0 评论 -
#判断二叉树是否对称 #比较二叉树是否相同 #判定两个二叉树是否是包含关系
这三道题有很多相似之处,这里我们直接贴代码,整理思路过程#比较二叉树是否相同两棵树都为空,相同 有一颗为空,不同 都不空,递归去分别看左子树与右子树class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { if(p==null && q==null){ return true; } if(p==null || q.原创 2021-11-09 21:15:13 · 407 阅读 · 0 评论 -
#二叉树层序遍历 #层序遍历并返回list
层序遍历:即把一颗二叉树从上到下,从左到右遍历并打印这里我们可以想到用队列,先放进去的先出来,把二叉树的每一层都依次保存到队列中public class BinaryTree { public static class BTNode { //定义属性 public BTNode left; public BTNode right; int val; public BTNode(int val) {.原创 2021-11-09 20:48:30 · 525 阅读 · 0 评论 -
java - 队列 - 和栈的比较
1.1 队列Queue进行插入操作的一端称为队尾(Tail/Rear) 出队列:进行删除操作的一端称为队头 (Head/Front)。先进先出原创 2021-11-09 15:21:55 · 63 阅读 · 0 评论 -
java - 栈 - 模拟实现 - oj题
1.1 基本概念压栈:栈的插入操作叫做进栈/压栈/入栈。入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据在栈顶。1.2 栈的基本操作public class TestStack { public static void main(String[] args) { Stack<Integer> s=new Stack(); //入栈 s.push(1); s.push(2); s...原创 2021-11-01 23:46:50 · 111 阅读 · 0 评论