Nick

亘古而常青的昨天永远是过去,也永远会再来。

04.重建二叉树

1.思路: 首先确定可以采用递归的求解方式,其次观察递归函数的输入变量为两个vector< int >,确定递归形式中一定要存放两个vector< int >,观察前序遍历和中序遍历中根节点、根左边结点、根右边节点它们存在的规律,分别将其存入pre_left, pre_r...

2017-12-30 23:13:00

阅读数:40

评论数:0

python中的try/except/else/finally语句

与其他语言相同,在python中,try/except语句主要是用于处理程序正常执行过程中出现的一些异常情况,如语法错误(python作为脚本语言没有编译的环节,在执行过程中对语法进行检测,出错后发出异常消息)、数据除零错误、从未定义的变量上取值等;而try/finally语句则主要用于在无论是否...

2017-12-29 11:21:30

阅读数:3867

评论数:0

关于Python中的引用

转载地址:[这里写链接内容](http://www.cnblogs.com/yuyan/archive/2012/04/21/2461673.html)   作为一个python初学者,今天被一个python列表和词典引用的问题折磨了很久,但其实了解了缘由也很简单,记录在此备忘。 首先背书pyth...

2017-12-28 16:36:25

阅读数:738

评论数:0

03.从尾到头打印链表

代码一:/** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), next(NULL) { * ...

2017-12-27 17:19:40

阅读数:51

评论数:0

Softmax函数与交叉熵

Softmax函数背景与定义在Logistic regression二分类问题中,我们可以使用sigmoid函数将输入映射到区间中,从而得到属于某个类别的概率。将这个问题进行泛化,推广到多分类问题中,我们可以使用softmax函数,对输出的值归一化为概率值。这里假设在进入softmax函数之前,已...

2017-12-25 11:55:26

阅读数:471

评论数:0

02.替换空格

1.思路: 1>重新定义一个新的数组,并进行赋值 2>确定变换后数组的长度,再从后往前更新数组,记得在最开始要先加’\0’2.代码: 方案一:class Solution { public: void replaceSpace(char *str,int length) ...

2017-12-23 17:56:51

阅读数:62

评论数:0

01.二维数组中的查找

1.思路 直接从右上角向左下角遍历。2.程序#include<iostream> #include<vector> using namespace std;class Solution { public: bool Find(int target, vector&...

2017-12-21 12:42:50

阅读数:40

评论数:0

快速排序(python)

代码:def median(nums): nums = quicks(nums) if len(nums) % 2 != 0: return nums[len(nums) / 2] else: return (nums[len(nums) / 2] + nums[len...

2017-12-19 22:13:30

阅读数:59

评论数:0

Battleship!

1.说明:python实现一个打海盗船的程序,对python的if语句list结构进行一个小综合2.代码from random import randintboard = []for x in range(5): board.append(["O"] * 5)def pri...

2017-12-19 17:25:50

阅读数:129

评论数:0

二叉树的遍历

1.思路 先序遍历:遍历顺序 root、leftchild、rightchild 中序遍历:遍历顺序leftchild、root、rightchild 后序遍历:遍历顺序leftchild、rightchild、root“先中后”指的是根结点root在遍历顺序中的相对位置。程序中分别用递归与...

2017-12-15 15:15:23

阅读数:55

评论数:0

双向循环链表

1.思路 在双向链表的基础上,让末结点的next指向表头结点,表头结点的pre指向末结点。2.代码#include<iostream> using namespace std;struct node { int data; node* pPre; node* ...

2017-12-14 16:09:09

阅读数:55

评论数:0

双向链表

1.思路 在单链表的基础上,node的结构体里多了一个指向前一个结点的指针node* pre,其他操作大同小异。2.代码#include<iostream> using namespace std;struct node { int value; node* pre;...

2017-12-13 22:39:12

阅读数:42

评论数:0

队列(数组实现)

1.思路 定义一个特定长度的数组,用head、tail两个指针记录队列内元素的头和尾,进而实现队列的入队出队等基本操作。2.代码#include<iostream> using namespace std; const int N = 10;struct queue { in...

2017-12-13 17:58:57

阅读数:98

评论数:0

队列(链表实现)

1.思路 定义结构体node表示链表里的节点,结构体linklist表示链表,选用两个首尾指针进行基本操作。2.代码#include<iostream> using namespace std;struct node { int value; node *next; ...

2017-12-13 11:36:57

阅读数:152

评论数:0

单链表(结构体与类实现)

1.单链表数据结构,自带sort函数按照从小到大排列,插入数据时,从链表头往后扫,将插入数据放在遇到的第一个比插入data小的数的前一位。2.代码#include<iostream> using namespace std;struct LinkNode { public: L...

2017-12-12 23:09:49

阅读数:199

评论数:0

栈(数组实现)

1.思路 定义一个长度为N的数组arr,定义一个int len记录已存入数组的元素个数,入栈len++,出栈len–,len == 0栈空,len == N栈满。 2.代码#include <iostream> using namespace std;struct Stack { ...

2017-12-11 21:03:24

阅读数:121

评论数:0

栈(链表实现)

1.思路 节点结构体为:一个int数值,一个指向下一个节点的指针Struct* next。设定一个链表头节点p,每次入栈的节点都放在p点的下一个节点,前面的节点则依次往后推移一位;每次出栈时将p->next对应节点值输出,并将p->next指向p->next->next;...

2017-12-11 20:31:05

阅读数:52

评论数:0

malloc、free用法

malloc用法 需要包含头文件: #include ‘stdlib.h’ 函数声明(函数原型): void *malloc(int size); 说明:malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,voi...

2017-12-11 20:08:42

阅读数:46

评论数:0

二值图细化

程序编码参考经典的细化或者骨架算法文章: T. Y. Zhang and C. Y. Suen, “A fast parallel algorithm for thinning digital patterns,” Comm. ACM, vol. 27, no. 3, pp. 236-239, ...

2017-12-11 16:49:17

阅读数:192

评论数:0

随机选择第i小元素

1.思路 采用快速排序中的Partition(int *nArr, int nLeft, int nRight)函数,将数组nArr按照与随机选取Key值的大小关系进行排序,检查比key值所处位置nKey(nKey = nTmpPos - nLeft + 1)和i的关系,如果nKey=i,则返回...

2017-12-11 15:47:20

阅读数:46

评论数:0

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