leetcode
MaiDouYT
写代码的道路上,越走越迷茫...
展开
-
计数排序
计数排序是一种稳定的线性时间排序算法。需要使用一个额外的数组空间。 特征 计数排序要求待排序数组在一个可收敛的整数范围内,因为需要使用额外的数组空间进行存储,并且需要对数据进行遍历计数,所以计数排序不适合范围特别大的数组。 举个例子通俗理解,例如有10个年龄不同的人需要找到小明排在第几位,我们只需要统计出有几个人比小明小或者同龄就行了,比如有8个人,那小明就排在第9位。这里如果有两个小朋友同龄,需要进行特殊的处理,即一个小朋友这里占据了一位之后,统计的比另外一个小朋友小的值应该减一(排序的稳定性),同理可以原创 2020-10-08 16:18:50 · 236 阅读 · 0 评论 -
二叉树的前序、中序、后序的递归和迭代实现
前言 二叉树遍历常用的一般分为前序、中序、后序三种,下面使用递归和迭代两种方法来实现这三种遍历,这三种遍历的顺序分别为: 前序:中左右 中序:左中右 后序:左右中 记得时候就是左右不变,中跟着遍历的方式走 递归 每次写递归,都按照这三要素来写,可以保证大家写出正确的递归算法! 确定递归函数的参数和返回值: 确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。 确定终止条件: 写完了递归算法, 运行的时候,经常会遇到转载 2020-09-30 01:51:07 · 348 阅读 · 0 评论