首页 > 编程知识 正文

评分者信度计算(通达信20个经典公式波段)

时间:2023-05-06 14:19:06 阅读:80923 作者:4481

1、深度优先算法

遍历规则:沿着顶点的深度方向持续遍历。 顶点的深度方向是指相邻点的方向。

最后得到的结果是ABDECFHG。

Python代码实现的伪代码如下。

2、广度优先算法:

遍历规则:

1 )先访问完当前顶点的所有相邻点。 (应该知道宽度的意思) ) ) ) )。

2 )先访问的顶点的邻接点比后访问的顶点的邻接点先被访问。

最后得到的结果是ABCDEFGH。

Python代码实现的伪代码如下。

3 .总结

深度优先遍历:对于所有可能的分支路径,无法进一步深入,每个节点只能访问一次。 需要特别注意的是,二叉树的深度优先遍历比较特殊,可以细分为前序遍历、中序遍历、后序遍历(我们面前使用的是前序遍历)。 具体说明如下。

第一个遍历:首先访问其中一个子树的根,然后遍历其左侧的子树,最后遍历其右侧的子树。

中顺扫描(对于任意一个子树,首先扫描其左侧子树,然后访问根,最后扫描其右侧子树。

后遍历:对于任意一个子树,首先遍历其左侧的子树,然后遍历其右侧的子树,最后访问根。

宽度优先遍历:也称为分层遍历,从上到下依次访问各层,从左到右或从右到左访问节点,然后访问下一层直到节点无法访问

4、分析

深度优先搜索算法:不保留所有节点,占用空间少; 有回溯操作(即堆栈、外堆栈操作),执行速度较慢。

广度优先搜索算法:保留所有节点,占用空间大; 无回溯操作(即无堆栈、外堆栈操作),执行速度快。

通常,深度优先搜索法不保留所有节点,扩展的节点从数据库中通过弹出窗口删除。 这样,由于一般存储在数据库中的节点数是深度值,所以占用空间很小。

因此,在搜索树节点多,其他方法容易发生内存溢出的情况下,深度优先搜索是一种有效的求解方法。

由于宽度优先搜索算法通常需要存储所有生成的节点,并且占用比深度优先搜索大得多的存储区域,因此程序设计中需要考虑溢出和内存区域的节省。

但是,由于宽度优先搜索法一般没有回溯操作,即进入堆栈的操作和进入堆栈的操作,所以执行速度比深度优先搜索快

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。