问题标签 [linear-search]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
user-input - 在java中使用线性和二进制搜索的用户输入
我正在尝试编写一个程序,要求用户输入用户想要创建的数组的大小,然后要求用户用元素填充数组,然后它应该显示数组及其元素,然后问用户进行整数搜索。它应该进行线性和二进制搜索,同时显示确定元素是否在数组中所需的探测次数。到目前为止,我得到的唯一输出是尚未找到该元素。如果您可以查看我的代码并查看问题所在,因为我已经尝试了几个小时并且我已经更改了我能想到的所有内容。任何帮助将不胜感激。
algorithm - 在哪里选择线性搜索而不是二分搜索
在互联网上搜索后,我无法让自己满意,因为我发现了一组全面的情况,在这些情况下,线性搜索比二分搜索更可取。
我基本上想知道是否有可能编制一份相对明确的建议列表(从工业中可能发现的一般编程的角度来看)。或者,如果可以证实我确实已经看到了有关该主题的所有内容,我将不胜感激。
c# - 传入两个数组,比较项目,然后返回匹配项的方法
所以我提出了这个问题,我最初写了这个返回一个新数组的答案,使用嵌套的 for 循环比较数组的元素,如果它们匹配则添加到新数组中。然后我被解释这是如何效率低下并且无法正常工作。我对算法或数据结构还不太了解,有人告诉我,哈希表或字典是存储匹配数据的更好方法。我正在尝试找出这种方法,并希望对此提供意见或帮助。谢谢!
我对字典不了解的一件事是……在我见过的几乎每个示例中,“键”通常是某个字符串值,然后该值是该字符串表示的数字值。在这种情况下,我只有两个数值,两个数组中的项目通过了。因为我只会在它们相同的情况下将其添加到字典中,所以我是否说 1 项是键,而另一项是值?我不确定。字典可以解释重复吗?
感谢您的任何帮助。我正在尽可能多地阅读此内容,但有时当我看到代码时,您的帮助/快速建议会更加清晰。
c++ - 数组选择排序问题和输出
您好,我不确定我的代码有什么问题。选择排序有效,但是当程序再次要求用户输入姓名时,他们没有找到正确的人。有人能帮我吗?我不确定出了什么问题。
编辑:我现在第二次要求输入的错误是“找不到名称”。我不明白为什么
图片在这里:http: //i.imgur.com/2Gkd0gh.pngh
这是我的完整代码:
c++ - 使用 SSE 通过 uint64[] 进行线性搜索
我正在尝试使用 SSE 指令通过 uint64 数组实现线性搜索。我得到了适用于 uint16 和 uint32 的东西,但是我得到了 uint64 代码的编译器错误(linux、gcc - 请参阅最后的规范)。
我正在尝试比较 2x2 64 位数字,然后以某种方式将结果转换为我的数组的索引。这适用于 uint32(学分转到 http://schani.wordpress.com/2010/04/30/linear-vs-binary-search/):
到目前为止,这是我为 uint64 想到的。比较有效,我只是不知道如何处理结果,并且 __builtin_ia32_packssdw() 调用无法编译:
错误说:
(vec2uint64 的 typedef 在顶部,在 uint32 的代码中。)
我的环境:
我的问题不仅仅是我如何修复编译器错误,而是如果有人有更好的主意来获得匹配的数组索引,也许没有整个打包的东西?
提前致谢!
c - 实现线性搜索
问题: 将最多 6 对姓名和年龄读取到两个单独的数组中,并使用线性搜索来定位目标姓名并打印该人的年龄。这两个数组称为名称和年龄:
我遇到很多错误..我不确定将数组传递给函数..
请帮忙。
错误在: result=linearSearch(&na, &temp[]);
list - 顺序搜索:未检测到输入长度 Python
我正在编写一个程序,用户输入一个数字列表,然后询问他或她希望程序返回哪个数字位置。(例如 3,5,1,9,12,6 --> 在列表中找到 9 出现的位置)如果我对列表和搜索编号进行硬编码,我可以让它工作,但我在输入时遇到问题. 我的问题主要是 Python 没有检测到数字列表的长度,但我不知道如何解决这个问题。这是我的代码:
这是错误:
java - 搜索排序的链表时,二进制或顺序/线性搜索是否更有效?
我需要编写一个程序来搜索以前排序的链表,但我不确定哪种搜索更有效。
java - 哪个更有效,先对集合进行排序,然后在 java 中对集合进行二进制搜索或线性搜索
假设我有一个对象集合:
哪种方法更好:
1:合并排序然后二分查找
2:顺序搜索
根据要搜索的集合的大小,搜索方法是否应该有所不同?如果是,那么如何决定。
EDIT1:假设我必须搜索列表几次,并且列表中不会添加新元素。
EDIT2:我本可以选择 a HashSet
,但实际上我有 aList<CustomObject>
并且我可以List
根据 CustomObject 的不同属性多次搜索。equals
所以我的 CustomObject中不能有被覆盖的方法
algorithm - 比较顺序搜索和二分搜索
假设我有一个未排序的实数数组,长度为N
。我想找到最大的非正数y
,然后是数组中x
小于的第一个数,以及大于的第一个数。y
z
y
我想在理论上将顺序搜索与二进制搜索进行非渐近比较(即不仅仅是使用大 Os)以找到这些值。是否合理地陈述:
- 顺序搜索需要
0
排序比较,3*N
搜索比较(三个顺序搜索)。
- 二分查找需要
2*N*ln(N) ≈ 1.39*N*log_2(N)
排序比较(快速排序,平均),- 直到
log_2(N)
比较搜索(只有一次搜索,因为数组是排序的,因此我们可以查看排序数组中的相邻值来查找x
,z
一旦我们找到y
)。
因此,我可以说二分查找会更快吗?
即仅适用于极小的阵列?