algorithm - tcl 中 lsearch 的默认算法以及改进其运行时间的方法?

标签 algorithm performance search runtime tcl

我想知道tcl中的lsearch在后台使用哪种搜索算法。 另外,如果列表已排序并且我们没有在 lsearch 中给出选项 -sorted,它是否仍然使用二分搜索来执行搜索。 如果有任何方法可以提高 lsearch 的效率,请告诉我。

我尝试了不同的情况,但我仍然很困惑哪种方式最有效。

最佳答案

如果您不指定-sorted,它将执行线性扫描,请注意,您可以使用-start选项更改起始点,请参阅https://www.tcl-lang.org/man/tcl/TclCmd/lsearch.htm#M14 ,也使用 -sorted 表示精确匹配,而不是 glob 或 regexp。

如果您需要在大集合中搜索值,那么使用 Tcl 数组或字典可能会更有效,因为它们使用散列来快速找到精确匹配。

关于algorithm - tcl 中 lsearch 的默认算法以及改进其运行时间的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71689631/

相关文章:

search - Elasticsearch :URI搜索不准确

search - 使用 hadoop 进行日志搜索

c++ - 搜索日志文件

python - 优化Python代码

同一对象上 x 调用的 c++ 虚拟函数性能

java - 如何获取当年1月1日开始至今的小时数?

c++ - C/C++ 中最有效的方法来修剪额外的空白,除了 1 个空白用于非常大的数据集

c# - 调试版本和发布版本之间的性能差异

algorithm - 幂集中所有集合排列的数量是多少?

algorithm - 白平衡算法