看板Programming
标 题Re: [问题] 演算法
发信站中央大学松涛风情资讯站 (Tue Jan 16 10:07:57 2007)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ncu!news.csie.ncu!Evergreen
> ==>发信人: [email protected] (我爱ASM), 信区: programming
> ※ 引述《haryewkun (Har)》之铭言:
> : 换题目玩玩。
> : 如果我们不要走漏洞,而是真的当作是实用的情况,然後把题目修改一点,
> : 必须要找出最小、而又没有被使用的数字,那麽除了排序之外,还有没有其
> : 他更快捷的方法?
> : 讨论区真的有这个问题。就是十万个用户,注册了从 1到100000的 UID,然
> : 後版主删掉中间五万名会员,所以就零零散散地断层了。如果新用户注册,
> : 就必须用 100001 的UID。
> : 如果是这样的问题,除了排序之外,还有没有别的办法?
> 假设UID为1~100,000,没有比100,000 更高的状况了。有没有办法
> 在不用排序的状况下知道哪些是空的 UID?或是一开始就维护一个
> 有序的UID,包含使用中的UID及未使用的UID?
> 维护两个资料结构,一个使用中并已序之UID ,一个为未使用并已
> 序之UID ,两者长度总和可透过共用区块维护。(此例总长为100,000,
> 并假设不会增加了...就算增加也是比照办理)
> 这样可行吗?I don't know. 不过因为资料结构为已序,所以未使
> 用之UID不用排序就可以马上知道。
======
Disk Block number 就是 数字编号
File Allocation Table , 那个 file 就是由那些 block member 组成,
拨给空位 取回空位 就是 disk block allocation.
假如 一个 file (如 人名) 限使用一个 block (如 member 代号) 就是
上面要的状况.
已知最常用的就是 UNIX 用的方法 index table 与 allocation-bit-map
分离, 其次就是 IBM-PC FAT , index-list 与 allocation array map
合用.
当然, 档案比较像是 group name 由很多单一 member block number 集合
而成, 这个例是一个档案(名称)只占用单一的 block number.
先参考这些 "旧轮胎" 吧 !
--
◎ Origin: 中央松涛站□bbs.csie.ncu.edu.tw From: 140.115.6.234