
数据结构面试题记录
文章平均质量分 71
无
shu__shu
大部分仅作笔记使用,大家将就着看
展开
-
堆结构和堆排序
堆(优先队列)时间复杂度:初始化建堆的时间复杂度为 O(n)堆排序重建堆 O(nlogn)PriorityQueue小顶堆小顶堆:任意一个非叶子节点的权值,都不大于其左右子节点的权值构造函数构造器功能介绍PriorityQueue()创建一个空的优先级队列,默认容量是11PriorityQueue(int initialCapacity)创建一个初始容量为initialCapacity的优先级队列,注意: initialCapacity不能小于1,否则会抛 Il原创 2021-10-23 18:56:57 · 420 阅读 · 1 评论 -
ArrayList和LinkedList的区别
文章目录ArrayList和LinkedList的区别1. 数据结构2.效率3.空间ArrayListArrayList和LinkedList的区别1. 数据结构ArrayList底层数据结构是由数组构成的,可以当做一个自动扩容的动态数组使用LinkedList底层数据结构是由双向链表构成的,可以当做堆栈队列,双端队列等使用.两者都是对List接口的实现,对List接口的方式有自己的实现为了序列化,都实现了Serializable接口,参数里面有serialVersionUID字段2.效率原创 2021-09-19 18:25:02 · 105 阅读 · 0 评论 -
判断链表是否有环
题目描述: 判断给定的链表中是否有环。如果有环则返回true,否则返回false。/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution {原创 2021-01-12 21:18:04 · 130 阅读 · 0 评论 -
二叉树的实现,遍历,性质等
二叉树原创 2021-03-15 15:28:45 · 332 阅读 · 0 评论 -
头插法和尾插法创建链表
头插法和尾插法创建链表尾插法:图中尾插法的思想主要是:多建立一个节点类型的引用 s 指向头结点.创建一个新的节点ai将ai的地址给s所指节点的指针域(s.next)使s指向新节点地址方便下次循环import java.util.Scanner;public class weicha { public static void main(String[] args) { Scanner in = new Scanner(System.in); St原创 2021-01-12 17:14:20 · 326 阅读 · 0 评论 -
二叉树非递归先中后遍历
有话说所有的递归操作都可以使用循环和栈进行手动实现,下面是二叉树通过非递归的方式进行遍历的方法public class Test { public static void main(String[] args) { TreeNode a = new TreeNode(3); TreeNode b = new TreeNode(9); TreeNode c = new TreeNode(20); TreeNode d = new Tr原创 2021-03-31 21:37:15 · 66 阅读 · 0 评论 -
二叉树进阶面试题
二叉树进阶题目记录实现二叉树的非递归 先序, 中序, 后序遍历二叉树的构建和遍历二叉树的分层遍历最近公共祖先二叉搜索树与双向链表实现二叉树的非递归 先序, 中序, 后序遍历非递归实现二叉树的构建和遍历在线OJ题目描述: 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。import ja原创 2021-03-31 21:36:34 · 208 阅读 · 0 评论 -
二叉树简单习题记录
题目列表1. 二叉树的前序遍历。2. 二叉树中序遍历 。3. 二叉树的后序遍历 。4. 检查两颗树是否相同。5. 另一颗树的子树。6. 二叉树最大深度。7. 判断一颗二叉树是否是平衡二叉树。8. 对称二叉树。LeetCode节点格式 Definition for a binary tree node. public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode()原创 2021-03-21 14:47:03 · 292 阅读 · 0 评论 -
链表和队列常见题记录
题目列表1. 括号匹配问题。2. 用队列实现栈。3. 用栈实现队列。4. 实现一个最小栈。5. 设计循环队列。1. 括号匹配问题。在线OJpackage 课堂代码.课件练习.栈和队列.有效的括号;import java.util.Stack;public class Test { public static void main(String[] args) { String s = "()"; System.out.println(isValid(s)原创 2021-03-09 12:13:13 · 229 阅读 · 0 评论 -
链表常见题方法记录
链表OJ题练习记录题目列表链表结构1.删除链表中等于给定值 val 的所有节点 [OJ地址](https://leetcode-cn.com/problems/remove-linked-list-elements/submissions/)2. 反转一个单链表。 [OJ地址](https://leetcode-cn.com/problems/reverse-linked-list/description/)3. 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回原创 2021-02-19 17:19:22 · 290 阅读 · 0 评论