一直不太明白,深度优先和广度优先的的适用场景及底层原理
问题1:深度优先和广度优先都会在内存中进行吗?
问题2:为什么es默认使用深度优先,我感觉广度优先的适用场景范围更广才对啊。
之前参考过:https://elasticsearch.cn/question/9087 ,但是还是没搞清楚。
哪位大神能解释的更简单明了一些啊,谢谢啦
问题1:深度优先和广度优先都会在内存中进行吗?
问题2:为什么es默认使用深度优先,我感觉广度优先的适用场景范围更广才对啊。
之前参考过:https://elasticsearch.cn/question/9087 ,但是还是没搞清楚。
哪位大神能解释的更简单明了一些啊,谢谢啦
2 个回复
Marquezzzz
赞同来自:
问题2,官方文章 /guide/cn/elasticsearch/guide/current/_preventing_combinatorial_explosions.html 已经说得很清楚了,在例子中其实是一种对group by的查询优化,并不是典型的bfs和dfs。
bfs和dfs的算法,可以看一下相关书籍,做一些leetcode题就好了,主要是树和图的算法。
Charele - Cisco4321
赞同来自:
能回答的都是看了网上的文档,似是而非的答案。