
每天学算法
青枫。
一步一个脚印!自律总没坏处!
展开
-
【每天学算法】二叉树的遍历
什么是二叉树的遍历?遍历一棵树,有非常经典的三种方法,分别是前序遍历、中序遍历、后序遍历。这里的序指的是父结点的遍历顺序,前序就是先遍历父结点,中序就是中间遍历父结点,后序就是最后遍历父结点。不管哪种遍历,都是通过递归调用完成的。如下图所示:前序遍历,对树中的任意结点来说,先打印这个结点,然后前序遍历它的左子树,最后前序遍历它的右子树。(根-左-右)根在前中序遍历,对树中的任意结点来说,先中序遍历它的左子树,然后打印这个结点,最后中序遍历它的右子树。(左-根-右)根在中间后序遍历,对树中原创 2020-09-29 16:19:17 · 177 阅读 · 0 评论 -
【每天学算法】浅谈时间复杂度和空间复杂度
什么是复杂度?复杂度是衡量代码运行效率的重要的度量因素。 而复杂度主要就是指时间复杂度和空间复杂度。首先,时间复杂度的计算并不是计算程序具体运行的时间,而是算法执行语句的次数。当我们面前有多个算法时,我们可以通过计算时间复杂度,判断出哪一个算法在具体执行时花费时间最多和最少。空间复杂度则是对一个算法在运行过程中临时占用电脑存储空间大小的量度。在过去,由于计算机性能低下,系统存储空间很小,这种情况下,降低空间的损耗就极其重要了!所以,在这种情况下,程序员要考虑的就是尽可能的降低空间复杂度。但是,时间原创 2020-05-19 21:29:10 · 610 阅读 · 0 评论