01 2019 档案
摘要:遍历二叉树,这个相对比较复杂。 二叉树的便利,主要有两种,一种是广度优先遍历,一种是深度优先遍历。 什么是广度优先遍历?就是根节点进入,水平一行一行的便利。 什么是深度优先遍历呢?就是根节点进入,然后按照一个固定的规律,一直向下走,一个方向的子树遍历之后再遍历另一个方向的子树。 深度优先遍历,主要有
阅读全文
摘要:二分查找算是一种比较快的查找方法,因为其前提是有序的的存储结构,所以每次查获找定位都可以淘汰当前一半的情况。 代码实现的大致思路是从一个有序(从小到大)数组,找到中间的元素,然后判断要查找的值是否相等,相等则找到,否则判断大小。 查找值小于中间值,则继续从第一个元素到中间值前一个元素,继续使用二分查
阅读全文
摘要:选择排序,非常的直观,也相对简单。 思路如下: 假设,从小到大排序。 首先,第一轮循环,从所有数组中,找出最小的元素,然后将其下标记录下来。 然后,确定不是第一个元素,则和第一个元素进行交换。 接下来,从第二个元素开始,再找出最小的一个元素,记录其下标。再和第二个进行交换。 一直到最后。每一轮循环,
阅读全文
摘要:这个应该是最大众的排序了。也算是简单排序算法中知名度最高的。 冒泡排序的思路是怎么样的呢? 首先就是先比较相邻的两个元素,如果满足条件,就交换,否则不动。 然后是再比较接下来的两个相邻的元素,然后满足条件就交换,否则依然不动。 依次循环操作下去,最终一个元素,会固定在最下边。 举例: 数组有5个元素
阅读全文
摘要:日常的排序算法中,快速排序是其中一种。实现起来相对简单。 假设有一个数组,有若干(N)个元素(数字且无序),需要对其进行从小到大的排序。 快速排序的思路是怎么样的呢? 取一个中间值,然后,用其他数组元素逐一和这个中间值比较,小于中间值的放在一个数组里,大于中间值的放到另一个数组里。 这样就以中间值为
阅读全文
摘要:正常直接使用opendir方法,就可以读到所有的目录和文件 文件可以直接记录下来,目录则需要再进一步获取里边的文件信息 也就是,如果当前读出来是目录,则需要再次调用函数本身(递归),直到没有目录 循环最后是读到没有文件(目录也是文件)结束
阅读全文
摘要:日常开发中,常常会用到一些简单常用的正则表达式,用于判断一些常见的情况 下边,就列出五种(验证用户名,密码强度,邮箱格式,手机号格式和身份证格式)常见的情况 分成PHP版本和JavaScript两个版本。 其实,两种语言的正则是完全一样的,只是相关函数的使用略有不同。 PHP版本 JavaScrip
阅读全文
摘要:有些项目可能会用到一个IP地址的白名单黑名单之类的验证。 比如,只有IP地址在白名单中,才可以访问该系统。 那么此时,白名单的维护,一般是一个文件,里边是一些IP地址(每行一个IP),当然也有的可能是用数据库记录白名单。 当然,即使放在数据库中记录(方便管理),也可以在后台根据数据库生成IP白名单的
阅读全文
摘要:小程序看似一种全新的东西,但好在基本上就是曾经HTML,CSS,JS的一个微变版本。 语法和之前一样。只是一些用法和名字(标签)发生了一些变化。 小程序主要就四种扩展名的文件:js,json,wxml,wxss JS,小程序的功能实现文件,和普通的JavaScript没什么区别,更多的是加入了一些微
阅读全文
摘要:杨辉三角,也算是一个经典的题目了。就简单的说说。 写代码之前,先分析要做的东西的特点,找到规律,再把这个规律描述一下。 然后把这个描述翻译成编程语言,就可以说是编程了。 那么杨辉三角有什么特点? 首先是个三角,在数学里边,我们手写画出来,就像一个等腰三角形。 而在计算里边,打印个等腰三角形,还真不不
阅读全文
摘要:代码相对比较简单,考虑一点细节,就可以了。 效果图
阅读全文
摘要:最近碰到一些情况,把思路重新整理了一下,敲出代码。记下来,以后可以借鉴,进一步优化等。 大致的思路:红包主要分两种,一种是平均分配,一种是随机分配。 1、平均分配 平均分配相对好理解,只要把钱平均分给每一个人就可以了 这里有一个情况,就是钱的总额是固定的,但是分配的人数,不一定可以整除余0,那么剩下
阅读全文