- 算法设计的要求
1、算法设计的好坏关乎程序的执行效率,算法的设计必须满足下列四个要求。
-
- 正确性:正确性的含义是算法对于一切合法的输入数据都能够得出满足要求的结果,事实上要验证算法的正确性是极为困难的,因为通常情况下合法的输入数据量太大,用穷举法逐一验证是不现实的。所谓的算法正确性是指算法达到了测试要求。
- 可读性:算法的可读性是指人对算法阅读理解的难易程度,可读性高的算法便于交流,有利于算法的调试和修改。通常增加算法的可读性是在书写算法时采用按缩进格式书写、分模块书写等方法可增加算法的可读性。
- 健壮性:对于非法的输入数据,算法能给出相应的响应,而不是产生不可预料的后果。
- 效率与低存储量需求:效率指的是算法的执行时间。对于解决同一问题的多个算法,执行时间短的算法效率高。存储量需求指算法执行过程中所需要的最大存储空间。存储量需求越小的算法效率越高。
- 遍历二叉树
- 什么叫遍历二叉树?
- 二叉树指的是你某种次序;
- 我们二叉树中的每个结点中,注意每个节的仅仅只是被访问一次。而访问呢,指的是我们在这里可以查询的结点数据域的内容和修改它的内容,或者是输出结点的数据,或者是执行其他的操作。
- 但是我们如果将其规定了,那么我们就一定要先遍历左子树,然后才能遍历右子树,那么这样的规定,我们的遍历次序就只有三种了。
- 第一种:先根遍历,先到左子树再到右子树。
- 第二种:中根遍历,指的是把根放在中间,然后再到左、右子树。
- 第三种:后根遍历,指的是把根放在后间,指的是拜访到左、右子树,然后再到根。
- 遍历二叉树根的定义:
(1)根遍历的定义:若二叉树为空,则空操作。
那么遍历的方法:则以上图实例:而他恰好所搜索到的每个有效结点的线途经都是有三次。
第一次经过时的访问结点是:A、B、D、C----先根遍历。
第一次经才时的访问结点是:B、D、A、C----中根遍历。
第一次经才时的访问结点是:D、B、C、A----后根遍历。