- 博客(80)
- 资源 (1)
- 收藏
- 关注
原创 The Log-Structured Merge-Tree (LSM-Tree) 论文阅读笔记
LSM-Tree(Log-Structured Merge-Tree)是一种为高吞吐量读写操作优化的数据结构,特别适用于写入密集型的应用场景。它由Patrick O’Neil等人开发,旨在提供一种低成本的索引方法,以处理大量记录插入和删除的操作。目的:LSM-Tree是为了解决传统磁盘索引结构(如B树)在处理高比例插入和删除操作时遇到的性能问题。应用场景:适用于那些插入操作远比查找操作频繁的场景(写多读少),如历史表(History tables)和日志文件(log files)。设计原则。
2024-04-26 14:40:47 914
原创 QFS [VLDB‘13] 论文阅读笔记
QFS(Quantcast File System)是由Quantcast开发的一个高效、可扩展的分布式文件系统,旨在提供与Hadoop分布式文件系统(HDFS)兼容的替代方案。QFS是用C++编写的,并且与Hadoop MapReduce插件兼容。它相对于HDFS提供了多项效率改进,包括通过纠删码机制而不是副本策略来节省50%的磁盘空间,写入吞吐量提高一倍,更快的名字节点,支持通过并发追加特性进行更快的排序和日志记录,比hadoop fs。
2024-04-16 21:25:46 1051
原创 快速创建Linux新用户
或上下键不能补全命令或无法记录历史功能。如果要将shell设置得和当前用户一样,可以通过以下步骤实现。的方式创建新用户,新用户的命令提示符(Prompt)只有一个。创建新用户,并在/home目录下创建同名文件夹(执行该命令的当前用户必须具有sudo权限。复制给新用户,复制完成后注意删除新用户的。若想将它在系统上的文件也删除掉,则加上。或者在执行useradd命令时加上。文件,将新用户的shell设置由。保存退出,如需要强制修改的加。中不需要的局部环境配置。为新建用户设置密码。
2024-04-15 17:21:46 228
原创 Ceph [OSDI‘06]论文阅读笔记
Ceph是一个高性能、可扩展的分布式文件系统,旨在提供出色的性能、可靠性和可扩展性。为了最大化数据和元数据管理的分离,它使用了一种称为CRUSH(Controlled Replication Under Scalable Hashing)的伪随机数据分布函数(为异构且动态的不可靠对象存储设备(OSDs)集群设计的)。Ceph利用设备智能,将数据复制、故障检测和恢复分布到半自治的OSDs上,这些OSDs运行一个专门的本地对象文件系统。
2024-04-14 19:30:55 761
原创 HDFS [MSST‘10] 论文阅读笔记
如果硬限制到期(一小时),并且客户端未能续订租约,HDFS假定客户端已退出,并代表写入者自动关闭文件并回收租约。然而,为了支持像SCRIBE这样的应用程序,它们提供实时数据流到HDFS,或者HBase这样提供对大型表的随机、实时访问,已经做了很多努力来提高读写响应时间。关闭文件时,租约将被撤销。当需要新块时,NameNode分配一个具有唯一块ID的块,并确定一个DataNode列表来托管该块的副本。Hadoop的重要特点:数据的分割、横跨成千上万个主机的计算、在接近数据的地方并行执行应用程序的计算。
2024-04-09 20:49:32 1009
原创 Bigtable [OSDI‘06] 论文阅读笔记
Bigtable是一个稀疏的、分布式的、持久的多维有序map,该map是基于row key、column key、timestamp三者建立索引的,map中的每个值都是一个未解释的字节数组。API主要包括创建、删除tables和column families的函数,以及修改cluster、table、column family元数据的函数。clients程序可以在Bigtable上进行写和删除操作,在单行上查询值以及遍历table的某个子集的数据。tablet 分裂或合并时,读或写操作是可以进行的。
2024-04-06 11:28:22 690
原创 MapReduce [OSDI‘04] 论文阅读笔记
原论文:MapReduce: Simplified Data Processing on Large Clusters (OSDI’04)1. Map and ReduceMap:处理键值对,生成一组中间键值对Reduce:合并与同一中间键相关的所有中间值process overview:分割输入数据,组织程序在一组机器上的执行,处理机器故障,以及管理所需的机器间的通信2. Introduction如何并行化计算、分发数据和处理故障等问题,使得原本简单的计算被大量复杂的代码所掩盖,无法
2024-04-03 17:34:00 1033
原创 The Google File System [SOSP‘03] 论文阅读笔记
在clients对某个 chunk 做出修改时,GFS 为了能够处理不同的并发修改,会把该 chunk 的 Lease 交给某个 replica,使其成为 primary,primary 会负责为这些修改安排一个执行顺序,然后其他 replica 便按照相同的顺序执行这些修改。在未超时前,primary 可以向 Master 申请延长 Chunk Lease 的时间,必要时 Master 也可以直接撤回已分配的 Chunk Lease。快照:Copy on Write。
2024-04-02 22:52:10 636
原创 Redis基础命令集详解
Redis(Remote Dictionary Server)是一种高性能的键值对(key-value)数据库,支持多种数据结构,如字符串(string)、列表(list)、集合(set)、散列(hash)和有序集合(sorted set)。ZADD:向有序集合中添加一个或多个成员,或者更新已存在成员的分数。ZREVRANGE:返回有序集合中指定范围的成员,按分数降序排列。ZRANK:返回成员在有序集合中的排名,按分数升序排列。ZSCORE:返回有序集合中指定成员的分数。
2024-03-30 11:44:21 398
原创 CSS常见选择器
在Web开发中,层叠样式表(CSS)是用于描述HTML或XML(包括SVG和XHTML等其他XML语言)文档的样式的语言。CSS描述了文档的表现形式,包括布局、颜色和字体等。在CSS中,选择器是一种模式,用于选择需要添加样式的元素。以下是一些常见的CSS选择器。
2024-02-27 22:49:27 732
原创 用Python Matplotlib画图导致paper中含有Type-3字体,如何解决?
如果使用Python中的matplotlib 以PDF格式来生成的paper中需要的图,而matplotlib 默认字体是Type-3,如果画图时不加以设置,那么就会导致paper中存在不符合要求的Type-3字体。在提交ACM或者IEEE论文之前,都会有格式的检查,格式的其中一个要求是paper中不能含有Type-3的字体。因为Type-1和True Type字体都是矢量字体,而Type-3并不是,在放大或者打印时可能会出现问题。修改文件中的pdf.fonttype和ps.fonttype的值。
2024-02-25 17:32:01 323
原创 0-1背包问题&背包问题(动规/回溯/分支限界法&贪心)
(一)0-1背包问题【动态规划法】、【回溯法】、【优先队列式分支限界法】的求解、实现(二)背包问题【贪心算法】的求解、实现(三)考虑容积的0-1背包问题【动态规划法】的求解、实现(四)完全背包问题、多重背包问题简述
2021-06-27 11:57:24 4341
原创 最长单调递增子序列(时间复杂度O(nlogn))
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步!最长单调递增子序列【题目描述】找出由n个数组成的序列中的最长单调递增子序列及其长度。【O(n*n)算法解题思路】思路一:用数组 b[0:n-1]记录以a[i] (0≤i<n) 为结尾元素的最长递增子序列的长度。序列a的最长递增子序列的长度为max {b[i]} (0≤i<n) 。易知,b[i]满足最优子结构性质,可以递归定义为:b[0]=1, b[i]=max{b[k]}+1(0≤k≤i)。思路二.
2021-04-25 20:25:35 4446 1
原创 波形MIF文件生成器(C语言)
波形MIF文件生成代码函数一、生成正弦波mif文件/*-—---功能:正弦波------*/int sine_wave(FILE* p, int maxwords,int depth){ int i,j; for(i=0;i<depth;i++) { j=(int)((maxwords/2-1)*sin(2*M_PI*i/depth) + maxwords/2); fprintf(p,"\t%-6x:%x;\n",i,j); }
2021-04-14 10:14:40 2085
原创 金币阵列问题
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步!金币阵列问题【算法思想】枚举初始状态每列变换为目标状态第1列的情况,在枚举过程中寻找变换次数的情况。①首先判断目标矩阵中每一行的0的个数是否与原矩阵对应行的0或1的个数相等,若不相等则目标矩阵不能由原矩阵变换而来,直接输出-1。②首先将每一列运用列交换为第1列③然后对每一行进行判断,如果元素与目标元素不相等,则进行行翻转处理④最后向后判断后面列是否相同②~④步可具体步骤如下:(1)将矩阵中的每一列作为.
2021-03-28 22:00:11 345 1
原创 行车路线(改)(图的应用)
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步!行车路线【问题描述】小明和小芳出去乡村玩,小明负责开车,小芳来导航。小芳将可能的道路分为大道和小道。大道比较好走,每走1公里小明会增加1的疲劳度。小道不好走,如果走小道,小明的疲劳值会快速增加,走s公里小明会增加s2的疲劳度。所有的小道不相交。并且不考虑有小道通过某一个路口相连的情况。例如:有5个路口,1号路口到2号路口为小道,2号路口到3号路口为大道,3号路口到4号路口为大道,4号路口到5号路口为小道,相邻路.
2021-03-28 21:10:48 241
原创 通信网络(图的应用)
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步!通信网络【问题描述】(CSP原题)某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息。信息可以通过中转的方式进行传递,即如果a能将信息传递到b,b又能将信息传递到c,则a能将信息传递到c。一条信息可能通过多次中转最终到达目的地。由于保密工作做得很好,并不是所有部门之间都互相知道彼此的存在。只有当两个部门之间可以直接或间接传递.
2021-03-28 20:23:51 308
原创 构建既是CBT也是BST的树(二叉树的应用)
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步!【问题描述】二叉搜索树(BST)定义为具有以下属性的二叉树:任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值任意节点的左、右子树也分别为二叉查找树完全二叉树(CBT)的深度为k,除第k层外,其他各层(1~(k-1)层)的节点数都达到最大值,且第k层所有的节点都连续集中在最左边。现在,给定一个键值互不相同的非负整数序列,构造一颗树.
2021-03-28 20:02:57 215
原创 最小差值(线性表的应用)
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步!最小差值【问题描述】对于给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。请基于线性表ADT完成程序设计。【问题分析】① 处理对象:n个正整数② 实现的功能:通过线性表的功能找出n个数据中相差(差的绝对值)最小的两个数,并输出它们差值的绝对值。③ 处理后的数据结果以一个整数的形式输出。④ 设计求解方法(算法思想):首先将输入的n个数据依次插入顺序表表尾,声明变量Min并初始化为.
2021-03-28 19:45:16 341
原创 游戏(约瑟夫问题)
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步!游戏【问题描述】基于STL实现以下功能:有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向。 游戏开始,从1号小朋友开始顺时针报数,接下来每个小朋友的报数是上一个小朋友报的数加1。若一个小朋友报的数为k的倍数或其末位数(即数的个位)为k,则该小朋友被淘汰出局,不再参加以后的报数。当游戏中只剩下一个.
2021-03-28 19:28:57 263
原创 数塔(C++实训题)
数塔【问题描述】给定一个数塔,如下图所示。在此数塔中,从顶部出发,在每一节点可以选择走左下或右下,一直走到底层。请找出一条路径,使路径上的数值和最大。【输入形式】输入时第一行一个整数n,表示该数塔的行数,其余n行表示该塔每行的数值【输出形式】输出包含两行,第一行为最大路径上的数值之和, 第二行n个数字为从上而下最大路径数值【样例输入】5912 1510 6 82 18 9 519 7 10 4 16【样例输出】599 12 10 18 10【思路】运用最短路径的Dijk
2020-08-16 21:25:40 1197
原创 CCF 201709-2 公共钥匙盒
CCF 201709-2 公共钥匙盒【问题描述】 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家。每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中。 钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙。一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙。 每次取钥匙的时候,老师们都会找到自己所需要的钥匙将其取走,而不会移动其他钥匙。每次还钥匙的时候,还钥匙的老师会找到最左边的
2020-08-16 09:20:59 150
原创 数圈(C++实训题)
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步!数圈【问题描述】以1为中心,用2,3,4, …, n, …, n*n的数字围绕着中心输出数圈, 如若n=4,则7 8 9 106 1 2 115 4 3 1216 15 14 13【输入形式】一个整数n(1<=n<=10)【输出形式】数圈矩阵【样例输入】5【样例输出】21 22 23 24 2520 7 8 9 1019 6 1 2 1118 5 4 3 1217 16 .
2020-08-15 16:11:26 1634
原创 回文串(C++实训题)
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步!回文串【问题描述】“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。给你一个字符串,问最少在字符串尾添加多少字符,可以使得字符串变为回文串。【输入格式】有多组测试数据。每组测试数据第一行是一个正整数N,表示字符串长度,接下来一行是长度为N的字符串,字符串中只有小写字母。N=0表示输入结束,并且不需要处理。40%的数列元素个数N 1 ≤ N≤ 100;30%的数列.
2020-08-15 15:34:32 1928
原创 相等的多项式(C++实训题)
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步!相等的多项式【问题描述】小明现在在学习多项式的展开:就是把一个形如(x+a1) (x+a2) … (x+an)展开成如下形式:xn + b1xn-1 + b2xn-2 + … + bn-1x + bn比如 (x+1)(x+2)=x2 + 3x + 2(x+1)3 = x3 +3x2 +3x + 1小明做了很多练习,但是不知道对错,现在请求你的帮助,判断小明的展开式是否正确。【输入格式】有多组测试数据.
2020-08-15 15:25:56 989
原创 数码管(C++实训题)
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步!数码管【问题描述】液晶数码管用七笔阿拉数字表示的十个数字,把横和竖的一 个短划都称为一笔,即7有3笔,8有7笔等。对于十个数字一种排列,要做到两相邻数字都可以由另一个数字加上几笔或减去几笔组成,但不能又加又减。比如 7→3是允许的,7→2不允许。任意输入一组数,判断是否符合上述规则,注意,1在右边。【输入形式】每行输入一个0~9的排列,数字之间用空格分隔,以-1作为输入结束【输出形式】输出YES或NO【样.
2020-08-11 16:26:34 929
原创 蛇行矩阵(C++实训题)
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步!蛇行矩阵【问题描述】蛇形矩阵是由 1 开始的自然数依次排列成的一个矩阵上三角形【输入形式】 正整数 N表示层数,N 不大于 100【输出形式】输出一个 N 行的蛇形矩阵,矩阵三角中同一行的数字用一个空格分开,行尾不要多余的空格。【样例输入】5【样例输出】1 3 6 10 152 5 9 144 8 137 1211【示例代码】#include <iostream>using na.
2020-08-08 12:04:45 420
原创 带通配符的数(C++实训题)
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步!带通配符的数【问题描述】给定一个可以带通配符问号的正整数W,问号可以代表任意一个一位数字。再给定一个正整数X,和W具有同样的长度。问有多少个整数符合W的形式并且比X大?【输入形式】多组数据,每组数据两行,第一行是W,第二行是X,它们长度相同,在[1…10]之间。【输出形式】每行一个整数表示结果。【样例输入】36?1?82364288?3910?5【样例输出】10004【思路】①当第一个’.
2020-08-07 22:38:07 390
原创 占座位(C++实训题)
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步!占座位【问题描述】sun所在学校的教室座位每天都是可以预占的。一个人可以去占多个座位,而且一定是要连续的座位,如果占不到他所要求的这么多座位,那么他就一个座位也不要了。为了降低难度,每次分配座位按座位号从小到大查找,采用最先适配法分配座位。【输入形式】输入有多组数据。每组数据输入座位排数n,0<n<=100(座位的排列数相等,座位是按每行从左到右依次排序的,,第1行的最右边一个座位与第二行的第一个座.
2020-08-06 16:23:19 1128
原创 487-3279(C++实训题)
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步!487-3279【问题描述】每个人都喜欢有令人难忘的电话号码。要想让电话号码变得令人难忘的一种方法是拼出一个令人难忘的单词或短语。例如,你可以拨打滑铁卢大学的电话,拨打令人难忘的电话号码TUT-GLOP。有时只有一部分号码被用来拼写一个单词,例如,你可以拨打310-gino从Gino’s订购披萨。要使电话号码令人难忘的另一种方法是以一种令人难忘的方式对数字进行分组。你可以从比萨饼小屋中订购比萨饼,方法是拨打他们.
2020-08-06 16:06:59 2101
原创 计算校验码(C++实训题)
计算校验码【问题描述】传送一个B(B≤16)进制的数值N时,最后加上一个一位(B进制的)校验码,使得N加上校验位后能被B-1整除。比如十进制的数值12310,其校验码就是3,因为十进制数值123310能被9整除。16进制的数7816,其校验码为0,因为16进制的78016是15的倍数。超过十进制后,用字母a表示10,字母b表示11,字母c表示12,字母d表示13,字母e表示14,字母f表示15。告诉你进制B,以及一个B进制的正整数N,要求你计算正整数N在B进制下的校验码。【输入形式】输入第一行正整
2020-08-05 21:21:08 2015 1
原创 合法的括号串(C++实训题,栈)
合法的括号串【问题描述】一个合法的括号串,是指只包含括号的串,如果满足如下条件:(1)<> () [] {} 这四对括号是合法的;(2)如果r是合法括号串,则 ® [r] {r}也是;(3)如果r,s是合法括号串,则rs也是;所以<<>> , [<>{}(())],[({<>})]是合法的括号串,而)(,[( ])就不是。【输入形式】输入第一行正整数t (10 ≤ n ≤ 100),表示有多少组测试数据。后面有t行,每行一个只包含
2020-08-05 21:15:50 2321
原创 内存管理(C++实训题)
内存管理【问题描述】离第一个操作系统HNU-OS发布已经没有多少时间了,但它的一些组件还没有完成,内存管理器就是其中之一。根据开发人员的计划,在第一个版本中,内存管理器将非常简单和直观。它将支持三个操作:alloc n —— 分配n个字节内存,返回已分配块的正整数标识符x(x初始值为0,每次分配增长1)erase x —— 删除标识符x所在的块defragment —— 整理空余内存碎片,将所有块尽量靠近内存的开始位置,并保持各自的顺序在此情况下,内存模型非常简单,它是一个m字节的序列,为了方便
2020-08-04 15:54:05 937
原创 Engine-字符串(C++实训题)
Engine-字符串【问题描述】谷歌、百度等搜索引擎已经成为了互连网中不可或缺的一部分。在本题中,你的任务也是设计一个搜索论文的搜索引擎,当然,本题的要求比起实际的需求要少了许多。本题的输入将首先给出一系列的论文,对于每篇论文首先给出标题,然后给出它被引用的次数。然后会有一系列的搜索询问,询问标题中包含特定关键词的论文有哪些。每一个询问可能包含多个关键词,你需要找出标题包含所有关键词的论文。“包含”必须是标题中有一个词正好是给定的关键词,不区分大小写。对每个询问,都按被引用的次数从多到少输出满足条
2020-08-04 15:45:52 830
原创 导弹防御系统(C++实训题)
导弹防御系统【问题描述】某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。【输入形式】每组输入有两行,第一行,输入雷达捕捉到的敌国导弹的数量k(k<=25),第二行,输入k个正整数,表示k枚导弹的高
2020-08-03 08:41:24 1365
原创 电话号码(C++实训题)
电话号码【问题描述】Vasya有几本电话簿,记录了他的朋友们的电话号码,每一个朋友都可以有一或几个电话号码。Vasya决定整理关于朋友电话号码的信息。给定n个字符串,来自于Vasya的电话簿中的条目。每一条都以朋友的姓名开头,然后跟着当前条目中的电话号码个数,然后是本人的电话号码。有可能几个相同的电话被记录在同一个记录中。Vasya还认为,如果电话号码a是电话号码b的后缀(也就是说,号码b以a结尾),这两个号码被当作同一个电话号码,那么a被认为是无城市代码,它不应该被考虑。输出整理后Vasya朋友
2020-08-02 09:07:48 1475
原创 n, 还是n(C++实训题)
n, 还是n【问题描述】输出 包含n 或者是n的倍数的所有数【输入形式】正整数 m,n(0<m,n<1000000)【输出形式】从小到大排列的不大于 m 的特殊正整数(包含n,或者是n的倍数)。【样例输入1】20 7【样例输出1】7 14 17【样例输入2】200 11【样例输出2】11 22 33 44 55 66 77 88 99 110 111 112 113 114 115 116 117 118 119 121 132 143 154 165 176 187
2020-08-02 08:50:11 904
癌症基因数据集(PAAD+LUAD+KIRC+BRCA+BLCA)
2023-05-15
数据结构之树结构调研资料.pptx
2023-05-13
高性能计算导论实验5-通用矩阵乘法基于OpenMP的实现及优化
2023-05-07
高性能计算导论实验4-基于Pthreads并行实现通用矩阵乘法、数组求和及二次方程组求解
2023-05-07
高性能计算导论实验3-矩阵乘法基于MPI的并行实现及优化
2023-05-07
高性能计算导论实验1-通用矩阵乘法基于串行编程的实现及优化
2023-05-07
数据挖掘实验-基于癌症基因数据集的特征分析
2023-04-18
数据挖掘实验-基于癌症基因数据集的决策树分类
2023-04-18
电子宠物小游戏(C++)
2022-11-29
0-1背包问题和背包问题的多种算法实现
2022-11-29
基于openvino实现的口罩检测模型face_mask_detection
2022-10-08
基于KNN机器学习算法对银行客户行为进行分类与分析
2022-10-06
基于朴素贝叶斯机器学习算法实现情感文本分析与分类
2022-10-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人