看板Programming
标 题Re: [问题] 字串统计
发信站KKCITY (Sat Aug 25 10:31:21 2007)
转信站ptt!ctu-reader!ctu-peer!news.nctu!netnews.chu!Leo.mi.chu!zoonews.ee.nt
※ 引述《[email protected] (teddyhtf2797)》之铭言:
> 我只懂字元的写法,
> 所以想请一请教各位
Simple-minded scheme: 线性查找
用一个大阵列S存放单字和出现次数序对
对每一读进单字v:
- v已存在阵列中:累加v的出现次数
- v不存在阵列中:把v加到阵列尾巴
写作业这样就可以了,对几百字长度的文章已经够用
Advanced scheme: hashtable
对每一单字以一个hash function计算关键值
当然M单字很多,function考虑也未必能完善,可能造成
1)table entry空置:这还不严重,现在记忆体都很大
2)collision: 即两个或更多单字算出一样的key,此时要有应对方案
这个方法的效率会最理想
详细办法请看资料结构书,比较详尽的语言课本也会有
或者现在新的pascal套件可能乾脆就写成library提供叫用了,像java一样
在这两者之间当然还有很多方法
--
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
For the country must we secure all the advantages, but after the party!
ˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍ
─ journeyman ─
SCA v2
--
┌─────◆KKCITY◆─────┐KKMAN团队 全新力作 ◎◎KKBOX◎◎
│ bbs.kkcity.com.tw │知名歌手通通都有 所有新歌想听就听
└──《From:218.160.87.98
》──┘※※ 内容丰富多元的线上音乐台 ※※
--
1F:推 ephesians:你讲太多了,问这问题的人只想用Pascal 59.117.132.78 08/25 11:10
2F:→ ephesians:写出能跑的程式即可 59.117.132.78 08/25 11:10