摘要: 遍历二叉树,这个相对比较复杂。 二叉树的便利,主要有两种,一种是广度优先遍历,一种是深度优先遍历。 什么是广度优先遍历?就是根节点进入,水平一行一行的便利。 什么是深度优先遍历呢?就是根节点进入,然后按照一个固定的规律,一直向下走,一个方向的子树遍历之后再遍历另一个方向的子树。 深度优先遍历,主要有 阅读全文
posted @ 2019-01-22 22:39 叶随风 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 二分查找算是一种比较快的查找方法,因为其前提是有序的的存储结构,所以每次查获找定位都可以淘汰当前一半的情况。 代码实现的大致思路是从一个有序(从小到大)数组,找到中间的元素,然后判断要查找的值是否相等,相等则找到,否则判断大小。 查找值小于中间值,则继续从第一个元素到中间值前一个元素,继续使用二分查 阅读全文
posted @ 2019-01-22 17:37 叶随风 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 选择排序,非常的直观,也相对简单。 思路如下: 假设,从小到大排序。 首先,第一轮循环,从所有数组中,找出最小的元素,然后将其下标记录下来。 然后,确定不是第一个元素,则和第一个元素进行交换。 接下来,从第二个元素开始,再找出最小的一个元素,记录其下标。再和第二个进行交换。 一直到最后。每一轮循环, 阅读全文
posted @ 2019-01-22 14:32 叶随风 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 这个应该是最大众的排序了。也算是简单排序算法中知名度最高的。 冒泡排序的思路是怎么样的呢? 首先就是先比较相邻的两个元素,如果满足条件,就交换,否则不动。 然后是再比较接下来的两个相邻的元素,然后满足条件就交换,否则依然不动。 依次循环操作下去,最终一个元素,会固定在最下边。 举例: 数组有5个元素 阅读全文
posted @ 2019-01-22 14:11 叶随风 阅读(15709) 评论(0) 推荐(0) 编辑
摘要: 日常的排序算法中,快速排序是其中一种。实现起来相对简单。 假设有一个数组,有若干(N)个元素(数字且无序),需要对其进行从小到大的排序。 快速排序的思路是怎么样的呢? 取一个中间值,然后,用其他数组元素逐一和这个中间值比较,小于中间值的放在一个数组里,大于中间值的放到另一个数组里。 这样就以中间值为 阅读全文
posted @ 2019-01-22 13:38 叶随风 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 正常直接使用opendir方法,就可以读到所有的目录和文件 文件可以直接记录下来,目录则需要再进一步获取里边的文件信息 也就是,如果当前读出来是目录,则需要再次调用函数本身(递归),直到没有目录 循环最后是读到没有文件(目录也是文件)结束 阅读全文
posted @ 2019-01-22 00:36 叶随风 阅读(2599) 评论(0) 推荐(0) 编辑