【数据结构算法】递归:八皇后问题

八皇后 八皇后问题就是说如下图所示的国际象棋的棋盘中,放入8个皇后,所谓皇后就是国际象棋中的一个角色,它的功能就是能够打掉与它同一行同一列同一斜排的棋子,并且打击距离是整个棋盘。我们的任务就是在棋盘中挑选8个位置放上皇后,使得这八个皇后能够在棋盘中和平共处,不会被对方打掉。 解题思路 利用递...

2018-06-30 23:25:42

阅读数:22

评论数:0

【数据结构算法】递归:汉诺塔

汉诺塔游戏 在汉诺塔游戏中,我们发现可以将问题简化,这是一种利用递归解决问题的思路,我们不需要具体解决问题的方法是什么,但仍然可以解决该问题,因此这种方法思想简单,但计算复杂度会比较高。 假设现在我们有三个柱子,“X”,“Y”,“Z”,现在“X”柱子上有不同大小的64个盘子,要求将这64个盘...

2018-06-28 16:40:26

阅读数:12

评论数:0

【数据结构算法】队列(二):循环队列

循环队列 循环队列的容量是固定的,并且它的队头和队尾指针都可以随着元素出入队列而发生改变,这样循环队列逻辑上就好像是一个环形的存储空间。注意rear指针指向的是下一个要插入的位置(注意是空的)。 我们发现循环队列只需要灵活改变front和rear指针就可以了。也就是让他两不断加1,即使超出...

2018-06-28 00:57:11

阅读数:24

评论数:0

【数据结构算法】队列(一)

定义 队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 队列的链式存储结构 队列常用链式存储结构实现 typedef struct QNode { ElemType data; struct QNode *next; }QNode, *QueuePrt;...

2018-06-28 00:41:44

阅读数:26

评论数:0

【数据结构算法】栈(四):中缀表达式转换为后缀表达式

任务 将用户输入的中缀表达式转换为后缀表达式,这样就即可以做到用户友好,计算机也友好。 假设输入的中缀表达式为: 1+(2-3)*4+10/5

2018-06-28 00:06:05

阅读数:21

评论数:0

【数据结构算法】栈(三):逆波兰表达式

逆波兰表达式 (1-2)(4+5)转换为逆波兰表达式:1 2 - 4 5 + ,这种方式对于计算机来说是容易接受的。只需要利用栈的特点,就可以将这种后缀表达式的性能发挥到极致。 利用栈求解逆波兰表达式示意图 计算逆波兰表达式:1 2 - 4 5 + * 数字1,2入栈,遇到减号运算符则...

2018-06-27 23:28:18

阅读数:21

评论数:0

【数据结构算法】栈(二):实现进制转换

二进制转换为十进制 // ConsoleApplication3.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #include<stdio.h&am...

2018-06-26 23:49:22

阅读数:30

评论数:0

【数据结构算法】栈(一)

定义 栈(stack)是一个后进先出的线性表,它只能在表尾进行删除和插入操作,对于栈来说表尾是栈顶,表头是栈底。 栈的顺序存储结构 typedef struct { ElemType *base; ElemType *top; int stackSize; }s...

2018-06-26 21:21:59

阅读数:29

评论数:0

【数据结构算法】线性表七:双向循环链表

双向链表结点结构 typedef struct DualNode { Elemtype data; struct DualNode *prior; struct DualNode *next; }DualNode, *DuLinkList; 双向循环链表 双向链表...

2018-06-25 13:00:16

阅读数:10

评论数:0

【数据结构算法】线性表八:双向循环链表例子

题目 要求实现用户输入一个数使得26个字母排列发生变化,如用户输入3则输出结果:DEFGHIJKLMNOPQRSTUVWXYZABC;用户输入-3则输出结果:XYZABCDEFGHIJKLMNOPQRSTUVW //=====================================...

2018-06-25 12:46:20

阅读数:14

评论数:0

【python】基础七:编码问题

python编码转换的核心操作: 任何编码的转换都需要经过一个Unicode作为中转编码。 python中的decode()方法就是用来将任何编码转换成Unicode。 python2.x 和 python3.x中默认编码 由于python3中的默认编码是utf-8,所以在pyth...

2018-06-24 23:43:42

阅读数:22

评论数:0

【python】基础六:静态方法&类方法&属性方法

Python静态方法:@staticmethod 静态方法可以利用中国与TW的关系进行类比记忆,静态方法名义上属于当前实例,可以用当前实例进行调用,但静态方法不能使用当前实例中的self属性,因为本质上不属于当前实例,只是一个单独的方法。例子:就好像os这个模块,里面有os.system和os....

2018-06-24 21:02:08

阅读数:45

评论数:0

【python】基础五:反射

hasattr(实例,name_str) 功能:判断name_str这个字符串是否是当前实例中的方法名 getattr(实例,name_str) 功能:将name_str这个字符串转变成可以调用的方法或者属性 setattr(实例,’str’,z) 功能:实例.str = z进行...

2018-06-24 20:35:22

阅读数:13

评论数:0

【python】基础四:装饰器

装饰器 所谓装饰器其实就是高阶函数和函数嵌套结合起来的高级应用。装饰器的功能:简单来说,就是在不改变函数的调用方式的情况下为函数增加某一个特定的功能。 高阶函数:把函数当作参数传入。 函数嵌套:在函数里面用def字段定义一个函数。 例子: 如下面的例子所示,添加一个@timer装饰器...

2018-06-24 19:46:11

阅读数:20

评论数:0

【python】基础三:迭代器

两大类称为迭代器(Iterator) 一类是list、dict、str等可迭代对象 可以直接作用于for循环的对象统称为可迭代对象:Iterable 可以用isinstance()来判断一个对象是否为Iterable。用法:Isinstance([], Iterable) list、dic...

2018-06-24 09:57:26

阅读数:21

评论数:0

【tensorflow】基础一:自定义layer并添加到计算图中

目的 将用户自定义的layer结合tensorflow自带的layer组成多层layer的计算图。 实现功能 对2D图像进行滑动窗口平均,并通过自定义的操作layer返回结果。 import tensorflow as tf import numpy as np sess = tf.Ses...

2018-06-23 23:45:50

阅读数:209

评论数:0

【python】基础二:生成器

定义生成器的两种方式 (a for a in range(50)): 用小括号替代列表生成式中的[] 利用关键字yeild 生成器的特点 生成器可以用【next()】或者【生成器. _ next _ ()】进行调用 调用生成器时候,不执行任何语句,只生成一个生成器,如下代码所示: ...

2018-06-23 11:23:25

阅读数:30

评论数:0

【数据结构算法】线性表(六):循环链表2(链表拼接,有无环)

思考 在单链表中,我们有了头结点时,我们可以用o(1)的时间复杂度访问第一个结点,但当我们要访问最后一个结点,我们必须要挨个向下索引,所以需要o(n)的时间。结合循环链表的特点,我们能够用o(1)的时间就可以由链表指针访问到最后一个结点。 改造循环链表实现上述功能 我们不用头指针(但保留头结...

2018-06-22 23:01:36

阅读数:24

评论数:0

【Python】基础一:set集合操作

集合操作是无序的,无重复值的 list_1 = [1,1,4,4,5,5,7,7,3,3,6,6,7,7,9,9] list_1 = set(list_1) list_2 =set([2,2,6,0,66,22,8,4]) print(list_1,list_2) //输出 //{1, 3,...

2018-06-21 17:54:53

阅读数:17

评论数:0

【机器学习算法】:提升树(Boosting tree)

提升树是以分类树和回归树为基本分类器的提升方法。提升树被认为是统计学习中性能最好的方法之一。Boosting方法其实本质上采用的是加法模型(基函数的线性组合)与前向分布算法。以决策树为基函数的Boosting方法被称为提升树(Boosting tree)。对分类问题决策树是二叉分类树,对回归问题决...

2018-06-20 17:16:40

阅读数:130

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭