![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
岳麓山炒粉
欢迎关注微信公众号:岳麓山炒粉
展开
-
树的算法
文章目录树的定义遍历1.中序遍历2.先序遍历3.后序遍历树的定义 public static class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } }遍历1.中序遍历1.1 定义:先遍历左节点...原创 2020-04-20 12:45:35 · 143 阅读 · 0 评论 -
验证二叉搜索树BST
BST:二叉搜索树,每一个最小BST的左节点,都要小于它的root,而右节点都要大于它的root;但是要看子数是否也满足这种情况,右节点子树的左节点,也要小于子树的root,但是大于父树的root。例如上面图中的3节点要大于5,但是要小于6,不然不满足BST的定义代码看一下leetcode原图public class IsValidBST { public static cl...原创 2020-04-20 11:24:46 · 154 阅读 · 0 评论 -
链表常用的算法
1.遍历链表2.双指针法删除倒数第n个3.设立dummy结点防止删除了head节点,起到哨兵作用原创 2020-04-14 13:14:08 · 134 阅读 · 0 评论 -
KMP模式匹配
为什么需要KMP解决字符串朴素模式匹配速度过慢的问题。朴素模式匹配相当于一种暴力匹配算法。next数组next数组用来干嘛?next数组是要拿过来计算子串的匹配位置的,解决朴素模式匹配的遍历多余次数问题。next数组的值 -1 代表的就是当前j位置的字符往前,有多少重复的字符next数组的算法1.首位一定是02.当j开始移动时,看j之前的字符串中是否有出现重复的前缀和后缀如果有,...原创 2020-03-31 17:12:26 · 117 阅读 · 0 评论 -
HashMap个人总结
1.什么是HashMap:哈希表(HashTable),一种数据结构,用于缓存技术。时间O(1)其他数据结构:1.1.数组:连续存储单元存储。指定下标查找O(1);给定值查找O(n);输出操O(n);有序数组的话:二分查找,插值法,斐波那契查找O(logn);1.2.线性链表:找到结点O(n),处理结点O(1)1.3.二叉树:平衡二叉树:O(logn...原创 2020-03-19 10:30:47 · 125 阅读 · 0 评论 -
关于负数如何转化为二进制
源码:int a = 5;a.toBinaryString = 00000000 00000000 00000000 00000101;int b = -1;b.toBinaryString = 10000000 00000000 00000000 00000101;反码:a.fan = 00000000 00000000 00000000 00000101;b.fan ...原创 2020-02-24 12:30:47 · 916 阅读 · 0 评论