2022.12.20 午夜随笔(洗澡)

2022.12.20 午夜随笔(洗澡)之一年了,终于把TAMA转化为反向匹配成为了可能

有人说,我们每天都在见证历史,有人说,我每天都在沉淀历史。

(700字小作文)


alt

alt


从前,它是叫“方向匹配基本定理(二)”的,即基于同一个数据结构,去找出匹配的谓词,就可以设计出正向匹配算法,去找出不匹配的谓词,就可以设计出反向匹配算法。


alt


基于反向REIN的数据结构可以设计出正向fREIN算法, 基于反向HEM的数据结构可以设计出正向fHEM算法, 基于BG-Tree数据结构可以设计出正向和反向匹配算法fBG-Tree,bBG-Tree 但基于TAMA数据结构没能设计出反向匹配算法, 由于不够通用,改成了正反匹配算法设计方法(FBMAD)这名称

但就在刚刚,回忆起C-BOMP、DMFT、FBMAD, 觉得C-BOMP偏工程、DMFT偏理论、FBMAD偏设计, 偏理论的没这么有实用性,效果没这么好 进而在思考它们之间的区别,是一环套一环的关系, 想到怎么介绍FBMAD好时,突然想到了存储!不只是匹配 即从正向和反向去存储和搜索匹配和不匹配的谓词 确实,fREIN、fHEM作为两个应用该理论设计出的算法都在存储上改了数据结构,存储匹配的谓词 ​而BG-Tree和AWB+Tree作为伪二叉树,其正向反向可以基于同一套存储方式同一套数据结构, 只需在搜索时通过找匹配/不匹配的来区分正向/反向匹配算法, 也正因此可以设计混合匹配算法

​之前没相通怎么基于TAMA设计反向匹配,似乎是陷入了思维陷阱 ​只是去想怎么基于现有结构去找不匹配的,怎么想也设计不出来(理论的指导作用)


alt


因为没动存储方式,确实理论里只说去找匹配不匹配,没有说存匹配不匹配 这样一来,在TAMA插入订阅时存储不匹配的区间,搜出来的自然就是不匹配的 设谓词区间为[l,h],值域为[1,R],那么不匹配的区间为[1,l-1],[h+1,R] (l>1,h<R) ​按原来的方式插入这两个不匹配区间到每一层的桶里, 搜索时仍旧是遍历事件值所落入的桶,在同一个位集上标记这些桶里的谓词所属的订阅 对于最后一层,当然还是按之前优化后的一样通过两次比较实现精确检索 这样一来,就把好好的一个正向TAMA匹配算法转化成了一个好好的反向TAMA匹配算法!


修正后

alt

#算法设计问题#
全部评论

相关推荐

刚刷到字节跳动官方发的消息,确实被这波阵仗吓了一跳。在大家还在纠结今年行情是不是又“寒冬”的时候,字节直接甩出了史上规模最大的转正实习计划——ByteIntern。咱们直接看几个最硬的数,别被花里胡哨的宣传词绕晕了。首先是“量大”。全球招7000多人是什么概念?这几乎是把很多中型互联网公司的总人数都给招进来了。最关键的是,这次的资源分配非常精准:研发岗给了4800多个Offer,占比直接超过六成。说白了,字节今年还是要死磕技术,尤其是产品和AI领域,这对于咱们写代码的同学来说,绝对是今年最厚的一块肥肉。其次是大家最关心的“转正率”。官方直接白纸黑字写了:整体转正率超过50%。这意味着只要你进去了,不划水、正常干,每两个人里就有一个能直接拿校招Offer。对于2027届(2026年9月到2027年8月毕业)的同学来说,这不仅是实习,这简直就是通往大厂的快捷通道。不过,我也得泼盆冷水。坑位多,不代表门槛低。字节的实习面试出了名的爱考算法和工程实操,尤其是今年重点倾斜AI方向,如果你简历里有和AI相关的项目,优势还是有的。而且,转正率50%也意味着剩下那50%的人是陪跑的,进去之后的考核压力肯定不小。一句话总结:&nbsp;27届的兄弟们,别犹豫了。今年字节这是铁了心要抢提前批的人才,现在投递就是占坑。与其等到明年秋招去千军万马挤独木桥,不如现在进去先占个工位,把转正名额攥在手里。
喵_coding:别逗了 50%转正率 仔细想想 就是转正与不转正
字节7000实习来了,你...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务