用队列实现广度优先的原理


伪代码

// 构件图
const graph = {};
graph['you'] = ['alice', 'bob', 'claire'];
graph['alice'] = ['peggy'];
graph['claire'] = ['thom', 'jonny'];
graph['peggy'] = [];
graph['thom'] = [];
graph['jonny'] = [];

function BFS () {
    let person = null;
    const queue = [];
    queue.push(...graph['you']);
    while(graph.length > 0) {
        person = graph.shift();
        if (isSeller(person)) {
            console.log(`${person} is seller`);
            return true;
        } else {
            queue.push(...graph[person])
        }
    }
    return false;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容