算法刷题笔记
前滩卷王
You Only Live Once
展开
-
Leetcode--Java--96. 不同的二叉搜索树
题目描述给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。样例描述输入:n = 3输出:5示例 2:输入:n = 1输出:1思路方法一:数学卡特兰数。 由题意,1~n可以组成的二叉搜索树种树为通过n + 1和n项的公式作比可以得出递推公式为,方法二:递归 + 记忆化搜索求二叉树的种类数。可以视为,求左子树的种类和右子树的种数,显然整个二叉树的种数等于左子树种数乘右子树种数。i从0开始枚举左原创 2021-08-07 18:00:38 · 152 阅读 · 0 评论 -
Java版 图的三种存储方式
邻接矩阵用二维矩阵进行存储的方式,用于边数较多的稠密图。//w[a][b] = c 表示 从a到b有权重为c的边int [][]w = new int[N][N];//加边操作void add(int a, int b, int c) { w[a][b] = c;}链式前向星(本质是邻接表,数组模拟链表)适用于稀疏图,边数较少时,这种存储在图论中十分常见// h[i] 存储某个结点所对的边 所在链表的头结点//e[i] 存储某一条边指向的结点(边的终点)//ne[i].原创 2021-08-06 20:32:00 · 748 阅读 · 0 评论