- 博客(127)
- 问答 (17)
- 收藏
- 关注
原创 算法设计与分析(1):导论和线性时间选择
本系列的目的是简要概述算法主题及其涉及的思维类型:为什么我们专注于我们所做的主题,以及为什么我们强调证明保证。我们会通过一个很容易涉及到的问题示例,即查找n个元素集合的中位数。对于这个问题,有一个简单的Onlogn时间算法,但我们可以使用随机化和巧妙的确定性构造做得更好。这些说明了我们将在本系列中使用(和构建)的一些想法和工具。我们还将练习编写和解决递归关系,这是算法分析的关键工具。
2024-01-09 11:38:46 908
原创 openGauss使用笔记
pg_table_size等于pg_relation_size加上其它文件大小,例如fsm文件和可见性映射文件。查看表的物理路径:pg_relation_filepath(oid/table_name)查看关系占用的磁盘大小:pg_relation_size(oid/table_name)
2023-09-09 16:19:50 327
原创 C++ I/O
所有语言都提供某种 I/O 机制,或者作为语言的内置部分,或者通过特定于操作系统的 API。灵活的I/O系统支持通过各种设备(例如文件和用户控制台)进行输入和输出。此外,它们不够灵活,无法处理自定义数据类型,它们不是类型安全的,并且在像 C++ 这样的面向对象语言中,它们根本不是面向对象的。的机制提供了一种更精细的输入和输出方法。的格式说明符和占位符,可以将它们自定义为读取特殊格式的数据或输出格式化代码允许的任何值。该库允许你使用路径、目录和文件,并且它很好地补充了流为 I/O 提供的机制。
2023-07-02 17:40:04 271
原创 C++泛型编程
当编译器遇到模板的实例化时,例如 Grid,它会通过将类模板定义中的每个 T 替换为 int 来为 Grid 模板的 int 版本编写代码。当编译器遇到模板的不同实例化时,例如 Grid,它会为 SpreadsheetCells 编写另一个版本的 Grid 类。如果语言中没有模板支持并且必须为每种元素类型编写单独的类,编译器只会编写你将要编写的代码。这里没有魔法;模板只会自动执行一个烦人的过程。如果不为程序中的任何类型实例化类模板,则永远不会编译类方法定义。
2023-06-08 01:00:14 506
原创 C++类与对象之移动语义
对象的移动语义需要移动构造函数和移动赋值运算符。当源对象是将在操作完成后销毁的临时对象时,编译器可以使用它们,或者正如你将看到的,在使用 std::move() 时显式使用。移动将内存和其他资源的所有权从一个对象移动到另一个对象。它基本上对数据成员进行浅复制,并切换已分配内存和其他资源的所有权,以防止悬空指针或资源并防止内存泄漏。移动构造函数和移动赋值运算符都将数据成员从源对象移动到新对象,使源对象处于某种有效但不确定的状态。通常,源对象的数据成员被重置为空值,但这不是必需的。
2023-05-11 11:25:49 452
原创 C++的CRTP
在上面的示例中,尽管函数 Base::interface() 在编译器已知结构 Derived 存在之前声明(即,在声明 Derived 之前),但实际上并没有被编译器实例化,直到它实际上由 Derived 声明之后出现的一些后续代码调用(上例中未显示),因此在实例化函数“implementation”时,Derived::implementation() 的声明是已知的。如果派生类调用一个继承函数,然后调用另一个成员函数,那么该函数将永远不会调用派生类中的任何派生或重写成员函数。
2023-05-09 10:17:03 101
翻译 如何阅读工程研究论文
论文的主体部分详细说明作者对问题的解决方案,还应该从论证或实验的角度描述对解决方案的详细评估。此外,写论文的原因可能与论文被分配的原因不同,这意味着你必须更加努力地寻找你感兴趣的内容。最后,你的时间非常有限,所以你可能没有时间阅读论文的每一个字,或者读几遍以提取所有的细微差别。如果你发现填写这个表格对你不起作用,你可以试着写一个250字的论文摘要–不是重写论文前面的摘要,而是你的摘要,从你的角度捕捉到上述五个问题。一篇注释良好的论文是物有所值的,因为它不仅包含了论文的内容,还包含了你对其价值的评估。
2023-04-16 11:02:17 59
原创 《data compression》笔记
第三章信息熵仅仅从整个数据集符号的静态频率统计上考虑,把符号看作是孤立的个体,而忽视了符号之间的顺序(普遍联系),这使得将数据压缩到超越信息熵的限制成为可能。(马哲yyds)
2022-05-20 00:00:46 97
原创 算法设计与分析笔记
0. 总述算法:动态规划分治散列和数据结构随机化网络流线性规划近似算法分析:复发概率分析摊销分析潜在功能1. 线性时间选择(随机性的和确定性的);递归树例子:寻找中位数在求中位数问题中,我们有一组不同的数字:a1,a2,...,ana_1,a_2,...,a_na1,a2,...,an,并且想要求出索引 iii 使得正好有 ⌊n/2⌋⌊n/2⌋⌊n/2⌋ 个数大于aia_iai。如何找到中位数?检查每个元素是否为中位数:Θ(n2)Θ(n^2)Θ(n2)
2022-04-11 10:52:15 436
原创 智力题心得
博弈16个硬币,A和B轮流拿走一些,每次拿走的个数只能是1,2,4中的一个数,谁最后拿硬币谁输。问:A或B有无策略保证自己赢?假设都很聪明。解:设 f(n)f(n)f(n) 表示剩余 nnn 个硬币时先拿者的输赢,类型为布尔值,则 f(0)=true,f(1)=falsef(0)=true, f(1)=falsef(0)=true,f(1)=false,f(n)=!(f(n−1)&&f(n−2)&&f(n−4))f(n)=!(f(n-1) \&\& f(
2022-03-20 19:27:18 280
原创 复试机器学习相关
1. 引言1.1 机器学习定义Arthur Samuel:机器学习赋予计算机学习的能力,这种能力不是通过显式编程实现的。Tom Mitshell:一个被称为可以学习的计算机程序是指,它可以针对某个任务T和某个性能指标P,从经验E中学习。这种学习的特点是,它在T上的被P衡量的性能,会随着经验E的增加而增加。1.2 机器学习的分类按任务是否需要和环境交互分类监督学习由人工采集数据并附带标签,输入计算机;强化学习的数据来源于计算机的行为及其结果,计算机根据收益函数对行为进行奖励或惩罚,逐渐强化自己的行
2022-02-28 22:37:02 897
空空如也
Java后端如何返回指定类型的Json
2021-05-03
web项目的out文件夹不会自动更新
2020-08-21
如何正确理解CTE中的递归
2020-08-07
Navicat中主键递增后不能给null
2020-07-30
关于lambda表达式中出现的变量
2020-07-27
colab上关于数据集解压的问题
2020-05-13
关于使用tensorflow加载图片获取图片维度的问题
2020-05-08
关于张量的名称冒号后的数字的问题
2020-05-03
关于global_step增加的问题
2020-04-30
Jupyter的代码自动补全
2020-04-28
python如何把一个列表的一部分作为实参传递(非副本)
2020-04-11
带有可变参数的方法的重载问题
2020-03-13
关于javassist的一些API参数的疑问
2020-02-20
浏览器访问本地手写httpserver没有响应
2020-02-15
volatile真的能避免DCL单例模式中的指令重排吗
2020-02-10
关于线程终止后还执行的问题
2020-02-07
关于System.out.write(int b)
2020-02-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人