用c语言,如何快速判断一个很大数组里面有没有给定的数字
答案:5 悬赏:0
解决时间 2021-02-28 00:47
- 提问者网友:巴黎塔下许过得承诺
- 2021-02-27 12:14
不用循环的方法有没有
最佳答案
- 二级知识专家网友:兮沫♡晨曦
- 2021-02-27 13:46
大数据检索一般需要对数据源先做处理
1.线性表排序之后可以用折半
2.线性表生成二叉排序树,用树检索
3.哈希表
4.等等
1.线性表排序之后可以用折半
2.线性表生成二叉排序树,用树检索
3.哈希表
4.等等
全部回答
- 1楼网友:偏爱自由
- 2021-02-27 16:09
直接用库函数isdigit逐个判断 或者使用分支结构语句 if(c>='0'&&c<='9') {..........}
- 2楼网友:单身小柠`猫♡
- 2021-02-27 15:59
去百度搜一下hash表的实现。
- 3楼网友:一池湖水
- 2021-02-27 14:49
这个貌似无法判断、在没有赋值之前、里面是随机数、无法判断这个随机数到底是不是给定的。
- 4楼网友:一池湖水
- 2021-02-27 14:09
数组很小的话,可以使用一次遍历。O(n)
数组稍大的话可以使用排序折半查找 O(logn)
数组再大的话可以使用hash,判断这个键值是否存在O(1)
数组非常大的话,如上百亿千亿,可以使用BF(Bloom Filter),即多个hash,来判断。但该方法只能保证一个数如果不在数组的话一定不在,如果结果为在,则不一定在。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯