数据结构
:-D:)
这个作者很懒,什么都没留下…
展开
-
排序算法
文章目录排序算法的评价标准插入排序直接插入排序算法分析平均时间、空间复杂度及稳定性希尔排序算法分析平均时间、空间复杂度及稳定性选择排序直接选择排序算法分析平均时间、空间复杂度及稳定性堆排序算法分析平均时间、空间复杂度及稳定性交换排序冒泡排序算法分析平均时间、空间复杂度及稳定性快速排序算法分析平均时间、空间复杂度及稳定性归并排序算法分析平均时间、空间复杂度及稳定性基数排序算法分析平均时间、空间复杂度及稳定性排序算法的评价标准1、时间复杂度:即从序列的初始状态到经过排序算法的变换移位等操作变到最终排序好的结原创 2020-08-04 15:28:29 · 225 阅读 · 0 评论 -
二叉树的前中后序遍历
文章目录1.1 前序遍历1.2 中序遍历1.3 后序遍历1.4、二叉树的层序遍历二、具有特点的二叉树2.1 平衡二叉树2.2 对称二叉树一、二叉树的遍历1.1 前序遍历public List<Integer> preOrder(TreeNode root) { if (root == null) { return new ArrayList<>(); } List<Integer> list原创 2020-10-24 18:38:48 · 166 阅读 · 0 评论 -
链表快慢指针问题(判断两个链表是否有换、找环的入口节点、回文结构和删除倒数第n个节点)
判断两个链表是否有环快的一次走两步,慢的走一步,两个相遇说明有环找环的入口节点快的一次走两步,慢的走一步,两个相遇,相遇的点开始走 一个从head走 两个相遇即为入口节点判断链表回文结构快的一次走两步,慢的走一步,然后从慢的所在位置入栈,然后从head去和栈中元素比较删除链表的倒数第n个节点先让快的走n步,然后一起走,slow.next = slow.next.next;...原创 2020-10-24 17:20:58 · 184 阅读 · 0 评论 -
Java集合框架及其背后的数据结构
官方教程Java 集合框架Java Collection Framework ,又被称为容器container ,是定义在 java.util 包下的一组接口interfaces 和其实现类classes 。其主要表现为将多个元素element 置于一个单元中,用于对这些元素进行快速、便捷的存储store 、检索retrieve 、管理manipulate ,即平时我们俗称的增删查改CRUD ...原创 2020-03-27 17:31:18 · 217 阅读 · 0 评论 -
Java中HashMap的理解
一、hash表时如何提升查找效率利用的前提:数组中根据下标访问元素的时间复杂度是O(1)查找过程:在一个Key-Set中查找指定Key的过程。因为Key-Set中的key太多了,所以查找会变慢。如果Key-Set中的Key较少,无论什么查找算法都比较快。Hash表的大体思路:把一个Key-Set的查找过程转换为很多个小的Key-Set的查找过程。在10000个Key中查找key...原创 2020-03-26 20:20:40 · 200 阅读 · 0 评论 -
ConcurrentHashMap
1、线程不安全的HashMap因为多线程环境下,使用Hashmap进行put操作会引起死循环,所以在并发情况下不能使用HashMap。为什么会出现死循环?HashMap是采用链表解决Hash冲突,因为是链表结构,那么就很容易形成闭合的链路,这样在循环的时候只要有线程对这个HashMap进行get操作就会产生死循环。在单线程情况下,只有一个线程对HashMap的数据结构进行操作,是不可能产...原创 2020-03-26 21:55:04 · 91 阅读 · 0 评论 -
回溯算法
"回溯”算法也叫“回溯搜索”算法,主要用于在一个庞大的空间里搜索我们所需要的问题的解。回溯”指的是“状态重置”,可以理解为“回到过去”、“恢复现场”,是在编码的过程中,是为了节约空间而使用的一种技巧。而回溯其实是“深度优先遍历”特有的一种现象。之所以是“深度优先遍历”,是因为我们要解决的问题通常是在一棵树上完成的,在这棵树上搜索需要的答案,一般使用深度优先遍历。“全排列”就是一个非常经典的“回...原创 2020-03-02 15:10:45 · 149 阅读 · 0 评论 -
牛客网《剑指offer》顺时针打印矩阵
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.import java.util.ArrayList;public class Solution { public ...原创 2020-02-29 10:12:58 · 105 阅读 · 0 评论 -
牛客网《剑指offer》树的子结构
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)在这里插入代码片原创 2020-02-28 19:50:50 · 98 阅读 · 0 评论 -
通过二叉树的先序遍历和中序遍历重建二叉树
题目:假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。牛客网剑指offer4该题的大题思路如下通过图我们可以了解到我们需要不断通过先序遍历获取头节点,根据中序遍历获取其左右子树,每次获取的头节点下都有一棵树,根据此特性可知这是一个递归的思路。代码如下:impor...原创 2020-02-26 10:29:10 · 259 阅读 · 0 评论