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

浙公网安备 33010602011771号