- 博客(10)
- 收藏
- 关注
原创 编程练习:N皇后问题 (JAVA)
N-Queens基本解法,使用二维数组,for循环两次,效率低import java.util.*;public class Queens { private int chessBoard[][]; private int N; Queens(int N) { this.N = N; this.chessBoard = n...
2018-03-20 17:33:07 538
原创 读书笔记——《解析卷积神经网络 ——深度学习实践手册(魏秀参)》
卷积神经网络(CNN)基本概念发展历程1959 加拿大神经科学家提出感受野概念1980日本科学家福岛邦彦提出神经认知模型,S-cells抽取局部特征—>卷积convolution层,C-cells抽象和容错—>池化pooling层1998 Yann LeCun 基于梯度学习的卷积神经网络LeNet 手写字体识别 2012 Hinton AlexNet在ImageNet夺冠201
2018-01-26 14:10:11 2128
原创 BP神经网络——Python 实现
import osimport numpy as np# Back propagation networkclass BP: def __init__(self, precision, max_learning_time, learning_rate, hidden_nodes, sigmoid): """ Parameter initializa
2017-10-26 17:04:50 3896 3
原创 算法基础:排序(四)——二叉堆、优先队列、堆排序——Python实现
1. 堆 Heap堆是利用完全二叉树的结构来维护数据的一种的数据结构,因此堆也叫做二叉堆。借助下面这张图可以直观的理解二叉堆的结构和特点: 大家不难发现,元素的标号与其父节点的标号n的关系为: 左节点n’=2n,右节点n’=2n+1。 这为我们递归的查找节点提供了路径。正是因为堆这种二叉树的结构特性,一般利用堆进行一次查找的时间复杂度在O(1)~O(logN)之间,这也正是我们后面利用堆实现优
2017-10-17 10:29:12 856
原创 算法基础:排序(三)——快速排序——Python实现
快速排序也是一种采用分治策略的排序算法,它将一个数组分成两个子数组,取数组第一个元素作为切分点P,使左侧子数组任意元素不大于P,右侧不小于P;然后将两部分独立地排序,便完成了整个数组的排序。引用一张图可能更好理解(截图自http://algs4.cs.princeton.edu/23quicksort/): 快速排序和归并排序是互补的,下面比较一下两种排序: 在算法流程方面, 快速排序:切分–
2017-10-16 11:27:05 530
原创 算法基础:排序(二)——归并排序——Python实现
1. 归并排序与分治策略归并排序的核心思想就是 分而治之。先介绍下分治法,设计思想是:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。分治策略:对于一个规模为N(N较大)的问题,将其划分为K个规模较小的子问题,若子问题相互独立且与原问题形式相同,我们则可以使用递归不断地将子问题进行划分,将一个大问题自顶向下一层层划分为容易解得小问题,得到小问题的解后再自底向上逐层合
2017-10-11 17:59:35 3256
原创 算法基础:排序(一)——选择排序、插入排序、Shell排序——Python实现
输入:由n个数构成的一个序列1. 洗牌(Knuth Shuffle)如何洗牌,即打乱一个序列,Knuth洗牌算法可以做到遍历一遍数组便将其完全打乱,即时间复杂度O(n)。import random# random、numpy.random模块都有shuffle方法,这里顺便自己实现一下class Shuffle: @staticmethod def knuthShuffle(a):
2017-09-15 15:29:29 713
原创 基础数据结构:栈、队列——Python实现
基础数据结构:栈、队列——Python实现上一节我们重点介绍了数据结构的顺序与链式存储结构,那么这次我们来实现一下栈和队列这两种最基础的线性逻辑结构。对栈和队列最简单的描述,也是它们最核心的性质,就是:栈 —— 后进先出队列 —— 先进先出一个简单的比喻就是: 栈像是将书一本本依次平摞在一个箱子里,后放入箱子的将先被拿出。 队列就如排队,先来排队的人先被接待。这是逻辑上的两种数据
2017-09-15 11:23:51 654
原创 基础数据结构:顺序表、链表——Python实现
基础数据结构:顺序表、链表(单链表、双向循环链表)——Python实现在最初学习数据结构时,相信大家一定都是从线性表开始的,因为它是最简单、最基本、最常用的一种线性结构,根据存储方法可分为顺序表和链表,基本操作包括插入、删除和检索等。
2017-09-14 14:33:59 1488
原创 算法——程序的灵魂
算法——程序的灵魂 “算法+数据结构=程序”(Niklaus Wirth)如果将程序比作人的话,那么数据结构相当于骨架肉体,而算法,则是其思想和灵魂。
2017-09-13 21:18:05 1041
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人