一、简介 二叉树的三种遍历方式我相信大家都了然于心,前序遍历、中序遍历、后序遍历。对于这三种遍历的递归实现,我们都不容易忘记。不过,对于非递归实现,我相信会有很多人会跟我一样,背了忘,再背再忘......(很多算法题都是这样,比如各种排序算法的实现)。经过认真观察思考后,发现实现起来是那么的简单,只 ...
分类:
其他好文 时间:
2020-05-09 09:11:48
阅读次数:
64
这一篇主要讲解Pytorch搭建一个卷积神经网络识别自己的数字数据集基本流程。 注:一开始接触很多教程都是直接加载datasets已有的MNIST等,如果想要训练自己的数据就可以采用这个方法。 基本步骤:获取并读取数据-->定义网络模型和损失函数-->使用优化算法训练模型-->利用验证数据集求取网络 ...
分类:
其他好文 时间:
2020-05-08 16:26:34
阅读次数:
83
什么是广度优先搜索? 如果只是是背概念,幼儿园的小朋友都能背下来念给你听。 假设看这篇文章的都和我一样是个前端工程师,我们要从广度优先搜索(BFS)中学到什么?如果你看完这篇文章能够回答这个问题,那么你已经看懂了。 广度优先搜索不是排序算法,它和快速排序、选择排序、冒泡排序等不一样,你听过二分查找吗 ...
分类:
编程语言 时间:
2020-05-08 16:08:39
阅读次数:
69
一、Java语言实现 二、python语言实现 ...
分类:
编程语言 时间:
2020-05-08 09:32:27
阅读次数:
66
所有排序都是从小到大进行排序 1插入排序 插入排序的思想主要是,将[a1,a2,a3,a4....ai.......an]前ai-1个序列看成有序的,然后用第ai个数与前面的数进行比较,找到位置进行插入 int i,j,temp;//a[len] for(i=1;i<len;i++){//假设a[0 ...
分类:
编程语言 时间:
2020-05-06 18:09:33
阅读次数:
67
一、前言 排序算法的评价指标: 算法执行效率 最好、最坏以及平均时间复杂度。注意:原始数据有序度的不同,对排序的执行时间有很大的影响 时间复杂度的系数、常数、低阶。注意:实际开发中,数据规模可能很小,因此需要考虑这几个方面 比较次数和交换次数。注意:基于比较的排序算法会涉两个基本的操作,即元素比较大 ...
分类:
编程语言 时间:
2020-05-03 10:51:34
阅读次数:
58
public class Sort { //冒泡排序方法1 public static void bubbleSort1(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - ...
分类:
编程语言 时间:
2020-05-03 00:44:05
阅读次数:
59
排序算法 一、算法核心思想分类 根据算法的核心思想,可以将十大排序算法分为两类: 1. 比较排序 常见的快速排序、归并排序、堆排序、冒泡排序等属于比较排序。 在排序的最终结果里,元素之间的次序依赖于它们之间的比较。每个数都必须和其他数进行比较,才能确定自己的位置。 2. 非比较排序 计数排序、基数排 ...
分类:
编程语言 时间:
2020-05-02 18:50:31
阅读次数:
93
快速排序算法本质上是通过把一个数组划分为两个子数组,然后递归的调用自身为每一个子数组进行快速排序来实现的。 这里首先讲递归的快速排序算法。 1.递归的排序算法 public void recQuickSort(int left, int right){ if(right-left<=0){ //如果 ...
分类:
编程语言 时间:
2020-05-01 23:55:50
阅读次数:
127
统计大串中小串出现的次数(新的解决方案) StringBuffer类 StringBuffer类的概述 我们如果 对字符串进行拼接操作 ,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。而 StringBuffer 就可以解决这个问题。 线程安全的可变长度的字符序列 StringBu ...
分类:
编程语言 时间:
2020-05-01 20:55:58
阅读次数:
72