猫史档案馆


【教程】线性搜索

用户:树林归来树林归来查看:141 回复:5 评论:34 创建时间:2022-04-26T20:47:07


也许大家都经常使用百度吧,我们可以在里面进行搜索。对了,你是否有想过,如何在Kitten上实现百度的这个搜索功能呢?

别急别急,我们现在只需要搞一个简单的搜索功能。这需要用到一个算法——线性搜索!!!

本次教程我们就来探讨一下,如何用Kitten程序进行一个简易的线性搜索吧!!!

 

我们就拿学生搜索系统来举例吧。

本次要用的变量:

·要搜索的学生

·a(辅助变量)

 

本次要用到的列表:

·学生姓名

·学生年龄

 

现在来开始吧!

第一步:删除两个列表的所有项,并将一些学生的名字和年龄分别存进两个列表中。这个学生的名字和年龄存多少都可以,如果你勤快、有耐心的话,就可以存多一点,让搜索内容变多,但是手累了可不怪我哈!

 

第二步:建立要搜索的学生和a两个变量,让要搜索的学生这个变量接受输入。

 

第三步:重复执行直到a大于学生姓名列表的长度,如果要搜索的学生这个变量等于学生姓名列表的第a项,就将学生的姓名和学生的年龄在对话中一起输出,然后重启。将变量a增加1。

 

第四步:输出结果。

center_image

好了,本期教程就这么结束了!

问一下:是不是很简单?快去实践一下吧!

 


回复

上一页第 1 页 / 共 1 页下一页
树林归来树林归来

是不是说得太简单了,怎么觉得都想再发一次(唉,还是不发了)

点赞0


评论


AlcalaAlcala

线性太慢吧()

点赞0


评论

我还有二分搜索

不慢啊,我一搜索就出来了,只是存储的信息有点慢,而且这只是个简易的

可以hash一下然后平衡树

或者离散化

至少0.05s吧

你说的离散化还有hash我一个都不懂......

好了,百度他们都是要搜索加载的,这已经够快了

那就线段树也行

超过0.01s都是慢

不需要()在这之前,kt已经爆掉了,因为列表太长)


调皮的乔治调皮的乔治

eee

点赞0


评论

???


树林归来树林归来

下一期我发个二分搜索,实验当中......

点赞0


评论

不是你不会离散化hash怎么二分?

要搜的下标是字符串啊

我确实不知道,但为啥我会二分

因为你会数字上的二分

这里是字符串上的二分

哦【若有所思】

字典序排序啊()

就是离散化啊))

addd

就是排序应该还要喵()kitten没有for循环好烦

kt就是逊啊()

我用kt生命游戏都不知道怎么搞()

神岛100行,kt拖到手废掉

这生命游戏挺麻烦

还好,我神岛就花40min写出来了()

神岛不是有sort函数吗?

虽然不知道是不是nlogn

我说的是写生命游戏()


yee089yee089

堆加二分,什么都别说了()

点赞0


评论

也行

看清楚教程再说,我说的是做个简易搜索

也可以啊

虽然平衡树/权值线段树更好(

addd