首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在大型数组上测试Dyalog惯用法的时间

在大型数组上测试Dyalog惯用法的时间
EN

Stack Overflow用户
提问于 2018-06-14 10:35:09
回答 1查看 106关注 0票数 1

对于这第一行发现的惯用法(w∘{(↓⍺)⍳↓⍵}),似乎没有减少搜索时间,即使第一次搜索会对数组进行哈希处理,从而使以后的搜索速度更快?

代码语言:javascript
运行
复制
      w← 100000000 3⍴'123'
      w←w,[1]'321'

      z← ⎕AI[3] ⋄ w∘{(↓⍺)⍳↓⍵}'321' ⋄ (⎕AI[3])-z
100000001
2892
      z← ⎕AI[3] ⋄ w∘{(↓⍺)⍳↓⍵}'321' ⋄ (⎕AI[3])-z
100000001
2883
EN

回答 1

Stack Overflow用户

发布于 2018-06-14 18:11:18

documentation

请注意,只有在第二次或随后应用派生函数时,保留哈希表才会有回报。这通常以两种方式之一发生:要么将派生函数命名以供以后(并重复)使用,如下面的第一个示例所示,要么将其重复应用为原语或已定义运算符的操作数,如第二个示例所示。

代码语言:javascript
运行
复制
      w←100000000 3⍴'123'
      w←w,[1]'321'

      f←w∘{(↓⍺)⍳↓⍵}
      z←⎕AI[3] ⋄ f'321' ⋄ (⎕AI[3])-z
100000001
2782
      z←⎕AI[3] ⋄ f'321' ⋄ (⎕AI[3])-z
100000001
16

Try it online!

代码语言:javascript
运行
复制
      w←100000000 3⍴'123' 
      w←w,[1]'321' 

      w∘{(↓⍺)⍳↓⍵}{z←⎕AI[3] ⋄ ⎕←⍺⍺ ⍵ ⋄ ⎕←(⎕AI[3])-z}¨'321' '321'
100000001
2375
100000001
0

Try it online!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50848817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档