树与图的存储与遍历 1.树1.1 树的存储以二叉树为例: public class TreeNode { int val; TreeNode left; TreeNode right; // 构造函数 TreeNode() {} TreeNode(int val) {this.val = val;} Tree 2024-02-12 算法与数据结构 算法 数据结构 图论 邻接矩阵 DFS 邻接表 BFS 二叉树
二分查找 二分查找适用于在「有序」的数据中快速的找到目标值。 时间复杂度:$O(nlogn)$ // 找到大于等于目标数的第一个位置 public int lower_bound(int[] nums, int target) { int low = 0, high = nums.length - 1; while(low < high){ int 2024-02-12 算法与数据结构 算法 数据结构 基础知识 二分
位运算 二进制操作 序号 操作 代码 1 计算 i 对于其子集 j 的 补集 i ^ j 2 判断 i 是否为 j 的 子集 ( i \ j ) == j 3 i 去掉指定位置的 1 ( i & (~( 1 << n ) ) ) 4 判断 i 和 j 是否有交集 (i & j) == 0 5 移除二进制表示中最右侧的1Brian Kernigh 2024-02-12 算法与数据结构 算法 数据结构 位运算 基础知识 二进制
数据库常用关键字 常用关键字1. JOIN (连接)关键字 1.1 INNER JOIN:内连接:返回两表共有的部分 SELECT <select_list> FROM Table_A A INNER JOIN Table_B B ON A.Key = B.Key 1.2 LEFT JOIN 、RIGTH JOIN:不论键值是否匹配都会返回A(B)表所有元素,未配的值将用NULL表示 SE 2024-02-12 数据库 数据库 连接 JOIN
CMU数据库系统作业自查(CMU Databases Systems / Fall 2019) HOMEWORK #1 - SQL Solution 课听的是2019年,作业作的是2021年,只因为Andy Pavlo的风格是我理想中老师的样子,听课就像看美剧一样。 HOMEWORK #1 - SQLQ1 [0 POINTS] (Q1_SAMPLE):sqlite3查询语句: SELECT CategoryName FROM Category ORDER BY CategoryName; 输 2024-02-12 算法与数据结构 数据库 SQL sqlite
区间DP 区间DP是线性DP的拓展,它在分阶段地划分问题时,与阶段中元素出现的顺序和由前一阶段的那些元素合并而来有很大的关系。令状态f(l, r)表示将下标位置l到r的所有元素合并能获得的价值的最大值,那么f(l, r)=max{f(l, k)+f(k+1, r)+cost},cost为将这两组元素合并起来的代价。 区间DP的特点: 合并:即将两个或多个部分进行整合,当然也可以反过来。 2024-02-12 算法与数据结构 算法 数据结构 动态规划 区间DP
状压DP 状压DP题目: 5856. 完成任务的最少工作时间段 1434. 每个人戴不同帽子的方案数 1617. 统计子树中城市之间最大距离 状压DP是动态规划的一种,通过将状态压缩为整数来达到优化转移的目的。 状压DP的数据范围一般都会小于20。 状态压缩可以简单理解为把一个boolean数组压缩到了一个十进制数字上,十进制的二进制表示中1代表选了该位,0代表不选,之后便可以通过使用位运算的各种技巧来简化 2024-02-12 算法与数据结构 算法 动态规划 状压DP 状态压缩 位运算