- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 LeetCode [31] 下一个排列 Python实现
题目实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1思路一直最简单暴力的思路是利用回溯法求所有全排列顺序...
2020-02-12 14:32:25
401
原创 anaconda中的常用操作
汇总在使用anaconda的常用操作 Linux下启动其终端命令行 $ source ~/anaconda3/bin/activate root$ anaconda-navigator 创建虚拟环境 conda create -n env_name python=3.6# 同时安装必要的包conda create -n env_name numpy m...
2018-10-20 18:08:03
1123
转载 【深度学习】神经网络
原址:http://tieba.baidu.com/p/3013551686?pid=49703036815&see_lz=1#我们先从回归(Regression)问题说起,要让机器学会观察并总结规律的言论。具体地说,要让机器观察什么是圆的,什么是方的,区分各种颜色和形状,然后根据这些特征对某种事物进行分类或预测。其实这就是回归问题。 如何解决回归问题?我们用眼睛看到某样东西,就可以...
2018-09-22 18:07:40
436
原创 堆的建立&堆排序
二叉堆是一种特殊的堆,二叉堆是完全二元树或者是近似完全二元树。 二叉堆有两种:最大堆和最小堆。 堆的排序:因为堆的根节点是最小堆值,所以每次取根节点,然后将其删除,剩余的节点重新构造成堆以此递归完成排序。 使用最小堆得到递增序列,最大堆得到递减序列。 由于每次重新恢复堆的时间复杂度为O(logN),共N - 1次重新恢复堆操作,再加上前面建立堆时N / 2次向下调整,每次调整时间复杂度也为O(logN)。二次
2017-03-31 23:13:09
430
原创 有向图强连通判断C/C++
有向图强连通判断 在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。
2017-03-05 15:30:43
6261
1
原创 最短路径C/C++
最短路径 本文介绍求最短路径,但不是Dijkstra算法和Bellman-ford算法求有向图中一点到其余各点的最短路径,而是求解有向图中指定两点的最短路径。
2017-03-04 16:27:10
3826
原创 最短路径(Dijkstra法)
最短路径(Dijkstra法)Dijkstra(迪杰斯特拉)算法是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题;算法的主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。
2017-03-03 13:28:39
850
原创 最小生成树(Prim算法)
最小生成树(Prim算法) 图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。
2017-03-03 12:19:17
410
原创 线索二叉树C/C++
线索二叉树C/C++遍历二叉树就是以一定规则将二叉树中的节点排列成一个线性序列,从而得到二叉树节点的各种遍历序列。其实质就是对一个非线性序列进行线性化操作,使得在这个访问序列中每一个节点(除第一个和最后一个)都有一个直接前驱和直接后继。
2017-03-03 11:19:58
863
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人