随笔分类 -  数据结构

数据结构
摘要:Tree import java.util.*; class Solution{ static class TreeNode{ int val; TreeNode left; TreeNode right; TreeNode(int val){ this.val = val; this.left = 阅读全文
posted @ 2020-12-17 14:17 BOTAK 阅读(89) 评论(0) 推荐(0)
摘要:字符串匹配算法 解法 暴力求解 Rabin-Karp算法 有限自动状态机 KMP算法 暴力求解 使用双重循环,先遍历目标字符串target,依次判断从第target.substring(i,i+pattern.length())是否相同即可。 // 暴力求解 public static int vi 阅读全文
posted @ 2020-12-09 09:21 BOTAK 阅读(93) 评论(0) 推荐(0)
摘要:内部排序 插入排序 直接插入排序 插入排序的思想是,假定前面i个元素已经有序,然后针对于第i+1个元素,寻找第i+1个元素应该在的位置,插入,移动即可 没有哨兵的直接插入排序 public static void insertSort(int arr[]){ // 插入排序的思想是,假定前面i个元素 阅读全文
posted @ 2020-11-22 18:23 BOTAK 阅读(118) 评论(0) 推荐(0)
摘要:链表 本来关于链表是不准备写这个的,但是呢由于lxj和zyj,还是写一下吧,嗨,人生真难。 写在最前,由于最近在刷leetcode,所以🌰一半是从leetcode中的习题得来 单链表 单链表的定义以及基本操作 // 单链表 class Test{ // 链表节点类 public static cl 阅读全文
posted @ 2020-11-21 16:49 BOTAK 阅读(88) 评论(0) 推荐(0)
摘要:B B+ RBT Tree B树 B+树 红黑树 🌲🌲🌲 B树 B-树就是B树,不是B减树,真tn的low 首先,在了解B树之前,我们要先了解什么是二叉搜索树,二叉搜索树的定义如下 BST 左子树节点上的值小于根节点的值 右子树节点上的值大于根节点的值 左右子树也分别为BST tips:B-树 阅读全文
posted @ 2020-11-17 11:08 BOTAK 阅读(111) 评论(0) 推荐(0)
摘要:图的相关的基本算法 主要用来记录和图相关的一些经常用到的算法 DFS与BFS leetcode 207 for example DFS class Soution{ public boolean canFinish(int numCourses,int[][] prerequisites){ // 阅读全文
posted @ 2020-11-10 14:05 BOTAK 阅读(229) 评论(0) 推荐(1)
摘要:并查集 class UnionFind{ private int[] parents; UnionFind(int size){ parents = new int[size]; for(int i=0;i < size ;i++) parents[i] = i; } public int find 阅读全文
posted @ 2020-11-06 14:50 BOTAK 阅读(59) 评论(0) 推荐(0)
摘要:数据结构:字典树 class TrieNode{ private TrieNode[] children; private int size = 26; private boolean isEnd = false; public TrieNode(){ children = new TrieNode 阅读全文
posted @ 2020-11-04 16:51 BOTAK 阅读(62) 评论(0) 推荐(0)