单词到散列表的唯一映射算法

《Programming Pearls,编程珠玑》15章关键词:字符串,散列表,平衡树,后缀数组,库,组件。散列表是一种数据结构。可用散列表中的元素唯一地指向另一种数据结构。如编程珠玑介绍的用散列表元素指向存储了“单词和单词数”的结构体,单词从输入流(一篇文章,一本书)中得来。可以将每次从输入流中读到的数据存储在栈和堆中。Figure1:散列表和存储数据的数据结构如
摘要由CSDN通过智能技术生成
 《Programming Pearls,编程珠玑》15章关键词:字符串,散列表,平衡树,后缀数组,库,组件


散列表是一种数据结构。可用散列表中的元素唯一地指向另一种数据结构。如编程珠玑介绍的用散列表元素指向存储了“单词和单词数”的结构体,单词从输入流(一篇文章,一本书)中得来。可以将每次从输入流中读到的数据存储在栈和堆中

Figure1:散列表和存储数据的数据结构

如上图,用散列表元素指向结构体的方便之处在于不管数据存储在哪里,都可以通过散列表元素将其访问到。散列表的存在是为了更好的管理存储数据的数据结构。我们希望通过散列表能够更好的访问存储数据的数据结构。如统计输入流中的不同单词,并统计每个单词的数目。为了实现这个目标,涉及到两个问题:

  • 如何将新读入的单词保存到一个从未指向任何数据结构的散列表元素。
  • 如果采用随机的方法,如和保证将每个不同的单词都得到存储并且对每个单词的计数准确无误。


存储输入数据的数据结构可以是如下结构:

struct _word{

char *word;

int  count;

}word;

所以散列表就是此种数据类型:struct _word *pword[SIZE];SIZE

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值