自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 COMP9101 算法设计 week5

动态规划动态规划的主要思想是:从(精心选择)较小规模子问题的最优解中建立问题的最优解。子问题的选择允许递归构造子问题的最优解,从最优解到较小规模的子问题。DP的效率来自于这样一个事实,即解决较大问题所需的子问题集严重重叠;每个子问题只求解一次,其解被存储在一个表中,以供解决较大问题时使用。实例:活动ai的列表,1≤i≤n,开始时间si,结束时间fi。两个活动不能同时进行。任务:找出总持续时间最长的兼容活动的子集。我们在上一节使用贪心方法来解决一个有点类似的问题,即找到具有最大可能数量的兼容活动的

2020-07-07 11:03:40 430 1

原创 COMP9101 算法设计 week4

贪心算法问题一:一个活动ai的列表,1<=i<=n,si时间开始,fi结束,没有两个活动在同时发生。任务:找到最大兼容size的子集。尝试1:总是选择最短且与之前不冲突活动,删掉冲突的活动?不可以。尝试2:选择一个与其他冲突最小的activity。看起来对未来选择限制最小。不可以。**正确的策略:**在不与之前选择的冲突下,总是选择结束时间最早的。证明这个贪心算法的最优证明任何最优解与贪婪算法的活动数量相同:找到违反贪婪原则的第一个的活动。表明用贪婪算法的选择代替

2020-06-25 00:46:18 521 1

原创 COMP9101 算法设计 week3

FFT快速傅立叶假设我们有2个多项式:PA(x) = Anx^n…+A0. PB(x)=Bnx ^n+…+B0将他们变成value表示法:因为它们两个的乘积是2n阶的,我们需要2n+1个不同的x:PA(x)<-> {(x0,PA(x0)),…(x2n, PA(x2n))}PB(x)<->{(x0,PB(x0)),…,(x2n, PB(x2n))}2.将它们点对点相乘{(x0, PA(x0)*PB(x0)), (x1,PA(x1)PB(x1))…(x2n

2020-06-17 01:16:33 350

原创 COMP9101算法设计 week1 chapter2

Karatsuba trickAB = A1B1*2^(n/2)+(A1B0+A0B1)2 ^(n/2)+A0B0=A1B12^(n/2)+( (A1+A0) * (B0+B1)-A1B1-A0B0)*2 ^(n/2)+A0B0我们在每次递归回合中保存一个乘积。以上可知,T(n)满足递归:T(n)=3T(n/2)+cn则:T(n/2) = 3T(n/(2^2))+c(n/2)对于n/(2^2):T(n/(2 ^ 2))= 3T(n/(2^2))+c*(n/(2 ^2))…T(n)=3

2020-06-06 21:06:47 567

原创 COMP9101 算法设计 第一周

随机算法是non-deterministic的。问题:两个贼抢仓库,他们必须分开一堆没有标签的东西。设计算法确保贼相信自己至少获利一半。解决方法:一个贼负责分赃,另一个贼先拿。这样两个贼都认为自己拿到的不亏。但如果是三个贼呢?如果按照之前的方法,一个贼分赃,其他两个先拿。但如果两个贼选了同一份呢?有人认为这样的话第一个贼就可以选择剩下2个的任意一个,剩下的两个贼按之前的方式继续。但事实行不通。在将货物分成A,B,C之后,可能第二个贼认为:A=50%, B=40%, C=10%但第三个贼认

2020-06-03 21:12:48 948

原创 COMP9315 week6a 课堂笔记

Indexingindexing是一个辅助文件,包含不同类型的records,由(key_value,tuple)组成。如果我们要搜索k2,在index file中找到k2对应的tid(即一个k2所在data page的引用)。当我们找到匹配的tuples,需要读它们的data pages,然后对它们本身进行操作。Index file按key的大小排序,因此我们可以进行二分搜索。所...

2020-05-05 14:27:26 237

原创 COMP9315 week5b 课堂笔记

Hash帮助优化query time:如果query拥有相同的value,通过hash函数快速定位到相同的page。在hash时,有时候不同值落在了同一个点,这就是hash collision problem(哈希冲突),但时每个bucket都有很多空间,所以不用担心这个问题。ka是一个words的数组,它的起始与byte stream 的起始一样,如果K不能被4整除,会产生alignmen...

2020-05-03 01:36:20 302

原创 COMP9315 week5a 课堂笔记

Projection primary key不需要去重。Projection基于index可以不访问data file。(我们假设只在key attribute上做projection。)基本思想:扫描已经对key attribute 排好序的index file。重复项在index中相邻。index file有bi页组成。bi远小于最初pages的总数。每个方式的输出可能顺序不一样...

2020-05-01 11:07:43 286

原创 COMP9315 week4b 课堂笔记

Scanning抓取所有pages中的tuples作为结果集。Page Cost:b(一个表的data file中pages的总数)PSQL的heap file可以带overflow pages。如上,暴力scanning的代价是b+b(Ov),b(Ov)是overflow pages的总数。如果不按顺序,则可以如下:找到最多1个结果的query:通过primary key:...

2020-04-28 00:11:26 476

原创 COMP9315 week4a 课堂笔记

Tuples以上信息存在schema.sql。Tuples是一个schema上属性值的集合,Record则是tuple上data的对应的一串bytes。Record既存在在Disk中也存在在Buffers中。当读一个8K page(get_record)时,一些record对应在buffers中。Records需要在working memory里将其转化为tuple。(mkTuple)...

2020-04-25 00:12:14 284

原创 COMP9315 课堂笔记 week3 lecture3

Page InternalsPSQL 使用clock-sweep。Buffer pool可以看作一个buffer slots的循环列表。Buffer pool在启动服务时为空,一般在在结束时满。所以当新的page来的时候,我们需要evict(驱逐)一些page。---->NextVictimBuffer 存下一个被驱逐对象的索引。当决定谁被驱逐时,如果一个page很受欢迎,则保留它...

2020-04-22 18:23:59 346

原创 COMP9315 week07课堂笔记

Signature-based SelectionDescriptor 也叫signature。从individual attributes里提取并合并信息去组成单个bitstream,捕获tuple的内容。signature存储在signature file中。每个tuple都有自己的signature。但signature不会决定record的位置。signature file比d...

2020-04-01 14:44:07 1066

原创 COMP9315 课堂笔记(二)

Buffer Pool(缓冲池)Aim:保存那些需要重用的数据库文件中的page。被用于读写想要的pages的access methods,如sequential scan,indexed retrieval 和 hashing。它使用文件管理函数去获取与table对应的data files。Buffer pool的操作:1 . request_page(pid) 2.releas...

2020-03-09 11:48:57 650 2

原创 COMP9315 DBMS课堂笔记

DBMS课堂笔记文件管理在操作系统中文件操作流程: fd = open(fileName,mode) // open a named file for reading.writing/appending close(fd) // close an open file, via its descriptor read = read(rd, but, nbytes) //attem...

2020-03-03 13:28:30 956

原创 算法导论整理

1.算法基础1.插入排序(Insertion-Sort)for j=2 to A.length: key = A[j] //insert A[j] into the sorted sequence A[1...j-1] i=j-1 while i &amp;amp;gt;0 and A[i]&amp;amp;gt;key A[i+1] = A[i] i = i-1 A[i+1]=key原理:类似于扑克...

2018-11-19 13:08:58 283

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除