06 2023 档案
摘要:计算机归根结底只会做一件事:**穷举**。 所有的算法都是在让计算机【如何聪明地穷举】而已,动态规划也是如此。 动态规划是自底向上,递归树是自顶向下 为什么动态规划一般都脱离了递归,而是由循环迭代完成计算。 【DP的核心思想】 DP为什么会快? 无论是DP还是暴力,我们的算法都是在可能解空间内,寻找
阅读全文
摘要:暴力贪心算法是一种基于贪心思想的算法,它的主要思想是在问题求解的过程中,尽可能地采取局部最优策略,从而得到全局最优解。 暴力贪心算法的技巧包括: * 确定问题的最优解结构:对于一个问题,如果它具有最优子结构的性质,那么就可以使用贪心算法来求解。最优子结构的性质是指问题的最优解可以通过其子问题的最优解
阅读全文
摘要:回溯和深度优先搜索的区别 回溯是一种更通用的算法。可以用于任何类型的结构,其中可以消除域的部分 ——无论它是否是逻辑树。 深度优先搜索是与搜索树或图结构相关的特定回溯形式。它使用回溯作为其使用树的方法的一部分,但仅限于树/图结构。 回溯和 DFS 之间的区别在于回溯处理隐式树而 DFS 处理显式树。
阅读全文
摘要:PG数据存储结构分为:逻辑结构和物理存储。 其中逻辑存储结构是内部的组织和管理数据的方式。物理存储结构是操作系统中组织和管理数据的方式。逻辑存储结构适用于不同的操作系统和硬件平台。 #逻辑结构 。因为 postgresql 的 tuple(行数据)是存在在 Page 中的,Page 的大小默认为 8KB。postgresql 不允许 tuple 跨页存储,所以当一行数据的某个列数据过大时,比如 text 类型的数据
阅读全文
摘要:数据库是数据库对象的物理集合,而schema则是数据库内部用于组织管理数据库对象的**逻辑集合**,schema名字空间之下则是各种应用程序会接触到的对象,比如表、索引、数据类型、函数、操作符等。 表空间用于定义数据库对象在物理存储设备上的位置,不特定于某个单独的数据库。表空间是实际的数据存储的地方
阅读全文
摘要:CMAKE是一个开源、跨平台的编译、测试和打包工具,它使用比较简单的语言描述编译、安装的过程,**输出Makefile或者project文件,再去执行构建**。 在linux环境下编写C++程序是没有类似windows下编译器的一键编译和运行的按钮,只能由开发人员进行手动编译、运行;当多人协同开发一
阅读全文
摘要:``` source 源端, target目的端 1.构造n*n的相邻矩阵, -1表示未相邻 int matrix[n][n] int dist[n] 初始化各节点直接到source的距离, dist[source] = 0; bool visited[n] 是否访问过 dist[source] =
阅读全文
摘要:系统崩溃后,系统会检查日志以找到最后一个<checkpoint L>记录(这可以通过从日志末尾向后搜索日志来完成,直到找到第一个<checkpoint L>记录),**L是检查点时活动的事务列表**。 重做或撤消操作只需要应用于L中的事务,以及在<checkpoint L>记录写入日志后开始执行的所
阅读全文
摘要:第十六章 给定一个关系代数表达式,查询优化器的工作是制定一个查询评估计划,该计划计算与给定表达式相同的结果,并且是生成结果的成本最低的方法(或者,至少,成本不会比成本最低的方法高多少) 第十七章 事务————ACID **事务的隔离属性确保事务的并发执行的结果状态等效于如果这些事务以某种顺序一次执行
阅读全文
摘要:join操作 Nest Loop Join 算法简单来说,就是双重循环,遍历外表(驱动表),对于外表的每一行记录,然后遍历内表,然后判断join条件是否符合,进而确定是否将记录吐出给上一个执行节点。从算法角度来说,这是一个M*N的复杂度。 HashJoin 是针对equal-join场景的优化,基本
阅读全文
摘要:闪存SSD 固态磁盘(SSD)使用NAND闪存构建,并提供与磁盘存储相同的面向块的接口。与磁盘相比,固态硬盘可以提供更快的随机访问:固态硬盘检索一页数据的延迟从20到100微秒不等,而对磁盘的随机访问需要5到10毫秒。 固态硬盘的数据传输速率高于磁盘,并且通常受到互连技术的限制;根据特定的SSD型号
阅读全文
摘要:多级索引 由于全量索引数据量较大,不能直接全部放入内存中,需要分级,将上层稀疏索引放入内存中,降低IO次数。 辅助索引必须密集的,每个搜索关键字值都有一个索引条目,**辅助索引必须包含指向所有记录的指针**;如果辅助索引只存储部分搜索关键字值,则具有中间搜索关键字值的记录可能位于文件中的任何位置,通
阅读全文
摘要:无损分解 如果我们将r投影到R1和R2上,并计算投影结果的自然连接,我们可以精确地返回r。相反,如果当我们计算投影结果的自然连接时,我们得到了原始关系的适当超集,那么分解是有损耗的。 码,设 K 为某表中的一个属性或属性组,若除 K 之外的所有属性都完全函数依赖于 K(这个“完全”不要漏了),那么我
阅读全文
摘要:SQL简介 关系代数运算和SQL运算之间有着密切的联系。一个关键的区别是,与关系代数不同,SQL允许重复 **与select子句不同,union联合操作会自动消除重复项.**如果我们想保留所有的副本,我们就必须用“union all”代替“union. intersect all, except a
阅读全文
摘要:关系模型简介 在关系模型中,术语relation用于指代table,而术语tuple用于指代row。类似地,术语attribute(属性)指的是表中的一column(列)。 我们必须区分数据库模式和数据库实例,前者是数据库的逻辑设计,后者是给定时刻数据库中数据的快照。 * 关系的模式指的是它的逻辑设
阅读全文
摘要:数据库系统概念——第一章 数据库管理系统(DBMS)由相互关联的**数据集合**和访问这些数据的**程序集合**组成。 数据库相对于文件系统,更规范化,提供条件查询能力,避免冗余数据。 类似操作系统于底层硬件,提供抽象能力,易用性。 physical level -> logical level -
阅读全文