标题:小女愚笨跪求两题,多谢各位精英!
只看楼主
jame23
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-10-21
 问题点数:0 回复次数:7 
小女愚笨跪求两题,多谢各位精英!
1.设某字典组成如下:
D={016, 087, 154, 170, 275, 426, 503, 509, 512, 612, 653, 677, 703, 765, 897, 908}
依次顺序表示在内存中,现用二分法的方法查找字典中是否有元素612,问需要进行多少次比较才能得到结论 每次选择的比较对象是什么元素?
2.为了正确处理开地址散列表元素的删除,需要对每个字典中元素增加一个删除标志位,试用双散列函数法解决碰撞,散列函数为h1(k)和h2(k),写一个从散列表中删除一个关键码k的算法.
搜索更多相关主题的帖子: 精英 愚笨 
2007-12-18 17:45
missiyou
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:531
专家分:218
注 册:2007-10-9
得分:0 
这个二个题目用不着算法去写,好像只是让人知道你的解题思路.
第一题,你要自己按照算法来把数据描述出来.
第二题,我还不怎么懂双散列什么意思.
好像就是,呵呵,有点懂了,
算法呀,感觉就是先去标志.然后搜索,找到了删除
2007-12-20 21:31
zerozou
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-12-21
得分:0 
用c写出代码来吧
不是很难!
你的第二个问题我不懂
2007-12-21 19:32
蓝调
Rank: 1
来 自:火星
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-12-19
得分:0 
第一题
# include <stdio.h>
void main()
{
 int a[16]={16,87,154,170,275,426,503,509,512,612,653,677,703,765,897,908},
     i,x,top,mid,bot;
 printf("Please input a number x:");   /*输入要找的数*/
 scanf("%d",&x);
 top=0;
 bot=15;
 do
 {
  mid=(top+bot)/2;
  if(x<a[mid])
  bot=mid-1;
  else
  top=mid+1;
 }
 while(x!=a[mid] && top<=bot);
 if(x==a[mid])
 printf("Yes");
 else
 printf("No");
}

科学是领跑者的世界,而不是追随者!
2007-12-22 10:38
yudeliao315
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-12-16
得分:0 
  哦~~~~
我看明白啦。
原来二分法的算法是这样的啊!!
多谢4楼的朋友
2007-12-22 22:57
yuemao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-6-12
得分:0 
强啊.
2007-12-23 11:08
三月里de小雨
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2007-10-2
得分:0 
支持一下~~~~

请问小雨谁带我追寻
追寻那一颗爱我的心
2007-12-24 20:55
康elon
Rank: 2
来 自:西安
等 级:论坛游民
帖 子:179
专家分:24
注 册:2008-4-6
得分:0 
支持
支持下

我很厉害。。。
2008-05-24 15:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-193186-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.166182 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved