有几个将军可以30分钟写出一个B+平衡的树 (转载)

c
centralla
楼主 (未名空间)

【 以下文字转载自 Military 讨论区 】
发信人: centralla (central LA), 信区: Military
标 题: 有几个将军可以30分钟写出一个B+平衡的树
发信站: BBS 未名空间站 (Fri Jan 22 18:31:25 2021, 美东)

用C++
bug free
自己带测试cases

菌斑几乎没有

s
sanwadie

IT民工,B+树长啥样都忘了,c++也从来不是我的主打语言。

【 在 centralla (central LA) 的大作中提到: 】
: 发信人: centralla (central LA), 信区: Military
: 标 题: 有几个将军可以30分钟写出一个B+平衡的树
: 发信站: BBS 未名空间站 (Fri Jan 22 18:31:25 2021, 美东)
: 用C++
: bug free
: 自己带测试cases
: 菌斑几乎没有

g
guvest

B 树又不是楼主发明的。找本书练几天不就会了。真不知道楼主兴奋个啥。跟学会修高级点的水管有多大区别。后者说不定赚钱还多些。
这多半是小学被老师虐的有斯德哥尔摩综合症了。见人先出一题。

n
netghost

這個問題沒什麼意義。
如果就是一般用用,直接用庫或者寫好的代碼就行了。如果要真的是項目的核心代碼,這種30分鐘寫出來的大路貨是沒有任何用處的。

你能30分鐘寫出來,除了證明你背下來了之外,啥也不說明。

不過說道這個B+樹什麼的,我可以在30分鐘之內就通過聊這個看出這個人數據機構的水平,可以一行code不寫。
【 在 centralla (central LA) 的大作中提到: 】
: 【 以下文字转载自 Military 讨论区 】
: 发信人: centralla (central LA), 信区: Military
: 标 题: 有几个将军可以30分钟写出一个B+平衡的树
: 发信站: BBS 未名空间站 (Fri Jan 22 18:31:25 2021, 美东)
: 用C++
: bug free
: 自己带测试cases
: 菌斑几乎没有

b
bihai

对,站在别人的肩膀上能够利用这些库也是可以的。非得什么都从头干起不可?

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 這個問題沒什麼意義。
: 如果就是一般用用,直接用庫或者寫好的代碼就行了。如果要真的是項目的核心代碼,
: 這種30分鐘寫出來的大路貨是沒有任何用處的。
: 你能30分鐘寫出來,除了證明你背下來了之外,啥也不說明。
: 不過說道這個B+樹什麼的,我可以在30分鐘之內就通過聊這個看出這個人數據機構的水
: 平,可以一行code不寫。

g
guvest

主要是别人会用这些well defined的库。你照书写一个,又赢不了用库的人。这不是脑子出问题了么。

除非你说我发明了个别的办法弄数据库。那可以在一定场景下有优势。那可以写。

【 在 bihai(学得不好) 的大作中提到: 】

: 对,站在别人的肩膀上能够利用这些库也是可以的。非得什么都从头干起不可?

i
iDemocracy

为什么你的回复标题里和帖子里自动删掉了加号“+”?
这用的什么阅读器?需要做一下编码转换吧?

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 主要是别人会用这些well defined的库。你照书写一个,又赢不了用库的人。这不是脑
: 子出问题了么。
: 除非你说我发明了个别的办法弄数据库。那可以在一定场景下有优势。那可以写。
:
: 对,站在别人的肩膀上能够利用这些库也是可以的。非得什么都从头干起不可?
g
guvest

我用的Web browser。阅读器不安全。

【 在 iDemocracy(DEMO) 的大作中提到: 】

: 为什么你的回复标题里和帖子里自动删掉了加号“ ”?

: 这用的什么阅读器?需要做一下编码转换吧?

: ?

R
Register9876

除了data structure 课上学过,工作上一次也没用过, 当然数据库 implementation developer 肯定与它打交道。 就像 OS, 95% 以上的人根本不在OS 层面写code(包括
hardware driver developer), 使用Windows 或Linux 不算。

你把source code 放在我面前,30分钟我都不一定全抄下来。
n
netghost

其實樹的概念,是一個人的概念,不是機器的概念。當人把這個概念強行套到計算機的概念上的時候,用得得當可以簡化這個方式,用得不當就把本身簡單的概念變複雜了。

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 主要是别人会用这些well defined的库。你照书写一个,又赢不了用库的人。这不是脑
: 子出问题了么。
: 除非你说我发明了个别的办法弄数据库。那可以在一定场景下有优势。那可以写。
:
: 对,站在别人的肩膀上能够利用这些库也是可以的。非得什么都从头干起不可?
:

h
hci

这种系统核心基本数据结构的实现,刷题教的教科书的办法基本上是无用的。具体实现都要考虑到整个系统架构的需求,作出很多外人看来奇怪的选择。

能作这种事情的人,基本上不是喜欢刷题的人。

因为这需要那种喜欢钻研没有标准答案的问题的人,这与习惯刷题以为什么都有标准答案的,完全是两种不同的人。

【 在 centralla (central LA) 的大作中提到: 】
: 发信人: centralla (central LA), 信区: Military
: 标 题: 有几个将军可以30分钟写出一个B+平衡的树
: 发信站: BBS 未名空间站 (Fri Jan 22 18:31:25 2021, 美东)
: 用C++
: bug free
: 自己带测试cases
: 菌斑几乎没有

w
wwzz

给我30分钟,我都看不明白

【 在 Register9876 (Register9876) 的大作中提到: 】
: 除了data structure 课上学过,工作上一次也没用过, 当然数据库
implementation
: developer 肯定与它打交道。 就像 OS, 95% 以上的人根本不在OS 层面写code(包括
: hardware driver developer), 使用Windows 或Linux 不算。
:
: 你把source code 放在我面前,30分钟我都不一定全抄下来。
T
TeacherWei

话说树结构,我也算发明者之一。。。

g
guvest

這種東西自己写容易坏。有的陈年bug歷史上好多件才發現也不稀奇。哪個天才一次寫
出來
成品。可能性不大。

【 在 hci(海螺子) 的大作中提到: 】
<br>: 这种系统核心基本数据结构的实现,刷题教的教科书的办法基本上是无用的。具
体实现
<br>: 都要考虑到整个系统架构的需求,作出很多外人看来奇怪的选择。
<br>: 能作这种事情的人,基本上不是喜欢刷题的人。
<br>: 因为这需要那种喜欢钻研没有标准答案的问题的人,这与习惯刷题以为什么都有
标准答
<br>: 案的,完全是两种不同的人。
<br>

s
sanwadie


面试和实际开发还是不同的。工作性质也有关系。

如果我发现有人在项目里手写B+树,我会先劝他改用成熟的库,如果不改,只能让他另寻高就。

我们需要快速出项目,不是做研究的。

但是面试时,如果项目里用的,我肯定会问,让他写点代码或讲述实现思路。

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 這種東西自己写容易坏。有的陈年bug歷史上好多件才發現也不稀奇。哪個天才一次寫
: 出來
: 成品。可能性不大。
: : 这种系统核心基本数据结构的实现,刷题教的教科书的办法基本上是无用
: 的。具
: 体实现
: : 都要考虑到整个系统架构的需求,作出很多外人看来奇怪的选择。
: : 能作这种事情的人,基本上不是喜欢刷题的人。
: : 因为这需要那种喜欢钻研没有标准答案的问题的人,这与习惯刷题以为什
: 么都有
: ...................

g
guvest

做研究的,那是要找出b树之类的问题或者发明新东西的。跟把课本学会,重复出来是
两回事。

【 在 sanwadie(三娃爹) 的大作中提到: 】

: 面试和实际开发还是不同的。工作性质也有关系。

: 如果我发现有人在项目里手写B 树,我会先劝他改用成熟的库,如果不改,只能让他另

: 寻高就。

: 我们需要快速出项目,不是做研究的。

: 但是面试时,如果项目里用的,我肯定会问,让他写点代码或讲述实现思路。

i
iDemocracy

当然,问题的时间分配完全不同。

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 做研究的,那是要找出b树之类的问题或者发明新东西的。跟把课本学会,重复出来是
: 两回事。
:
: 面试和实际开发还是不同的。工作性质也有关系。
:
: 如果我发现有人在项目里手写B 树,我会先劝他改用成熟的库,如果不改,只能
: 让他另
:
: 寻高就。
:
: 我们需要快速出项目,不是做研究的。
:
: 但是面试时,如果项目里用的,我肯定会问,让他写点代码或讲述实现思路。
g
gogogo2

tree只有搜索时才用,其他时候效率太低,
用的最多的是线性队列,push pop,
c语言没落了,没人关心tree了,
n
netghost

搜索的時候用還不夠你還想怎樣?指望Tree幫你找老婆生孩子??

【 在 gogogo2 (googlebot) 的大作中提到: 】
: tree只有搜索时才用,其他时候效率太低,
: 用的最多的是线性队列,push pop,
: c语言没落了,没人关心tree了,