- 博客(26)
- 资源 (2)
- 收藏
- 关注
原创 二叉搜索树(二叉排序树)
内容和代码参考殷人昆版的《数据结构》二叉搜索树也称为二叉排序树,二叉搜索树要么是空树,要么具有如下性质:(1)每个结点都有一个作为搜索依据的结点值,并且每个结点值互不相同;(2)左子树(如果存在)上的所有结点值都小于根结点的值;(3)右子树(如果存在)上的所有结点值都大于根结点的值;(4)左子树和右子树也是二叉搜索树。对一棵二叉搜索树进行中序遍历,可以从小到大的将结
2017-07-01 17:09:56
651
原创 二叉树重建
二叉树重建是涉及到二叉树知识点中肯定会遇到的问题。前序加中序遍历,或者中序加后序遍历可以唯一地重建一棵二叉树。如:给定前序遍历数组{1,2,4,7,3,5,6,8},中序遍历数组{4,7,2,1,5,3,8,6},然后重建一棵二叉树;思路:在前序遍历数组中第一个数肯定是树的根root->val=1,然后根据root在中序数字的位置可以划分出左子树和右子树的中序遍历,同样又可以知道左子树和右
2017-06-28 16:53:05
649
原创 C++类型的隐式转换和显式转换
隐式转换:编译器根据需要自动转换变量类型。1、一些基本类型的转换double d = 82.0;int i = d;2、类的隐式转换,以下几种情况,类B能隐式转换成类A:(1)B公有继承A,然后用子类去初始化基类class A{};class B:public A{};A a;B b;a = b;(2)B中有类型转换函数class B{
2017-06-27 19:40:18
2669
原创 正则表达式匹配
题目:实现支持'.'和"*"的正则表达式匹配'.'匹配任意一个字母'*'匹配0个或者多个前面的字符。匹配应该覆盖整个输入字符串而不是仅仅一部分。如字符串“aaa”与模式"a.a"和"ab*ac*a"匹配,而与"aa.a"及"ab*a"均不匹配。思路:首先要理解题意(想了好久才了解这个题目的意思)。这个说的是两个字符串要完全相等。意思就是判断是否能用含有'.'和"*"的字符串
2017-06-24 00:08:26
777
原创 筛选法求N范围内的所有素数
先把N个自然数按次序排列起来。1不是质数也不是合数,所以排除1,从2开始。2是质数留下来,把后面能被2整除的数全部删除;接着留下来的第二个素数是3,把后面能被3整除的数删除;依次后移,直到N。我用操作最简单的vector容器实现,看代码:#include #include using namespace std;int main(){ int n; cin>>n; if(n<=1)
2017-06-23 16:50:16
3708
原创 C++容器vector的常用成员函数
vector容器是笔试时最经常用到的容器,它实际是一个类模板,它所具有一些成员函数我们必须熟练使用,这样才会加快编程速度。首先加头文件并定义: #includevectorvec;1、获取vector里的元素个数int len = vec.size();2、向vector添加元素int temp;cin>>temp;vec.push_back(temp);
2017-06-11 14:38:52
14326
2
原创 队列(queue)的模板类及其成员函数的实现
队列(queue)是先进先出的数据结构,存储方式可以是数组也可以是链表。如果用数组存储,一般采用循环队列的方式。所以需记住几个关键点:队头指针进1:front = (front+1)%maxsize队尾指针进1:rear = (rear+1)%maxsize判断队空:front = rear判断队满:front = (rear+1)%maxsize,这里,队满的时候队尾和队头之
2017-06-06 12:21:28
7099
原创 栈(stack)的模板类及成员函数的实现
容器类的数据结构都是用模板类构成的,包括栈(stack),队列(queue),向量容器(vector),双端队列(deque)等。下面实现的是栈的模板类构成。定义头文件#include#includeusing namespace std;const int stackIncreament=20;templateclass SeqStack{public: SeqStack
2017-06-06 09:58:41
4322
原创 加了限制条件的动态规划
动态规划有时候会加各种限制条件,但其实总的套路是不变的,只需要在其中加一些条件,并可能需要进行数据的预处理。题目:购物单问题====================================================王强今天很开心,公司发给N元的年终奖。王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:
2017-05-14 16:52:05
1870
原创 回溯算法
递归真的不大好理解,而且很难自己写出来,但是我发现牛逼的算法都会用到递归=_=不知道到底是什么样的人才能发明递归这种东西,他的脑神经是不是用二进制构成的=_=言归正传回溯算法是一种做决策的算法,也叫试探法。基本思想是:按一条路往前走,能进则进,不能进则退回来换一条路再试。回溯一般可以用树的概念来描述。回溯法就是从树的根节点出发(注意:根节点不包含任何元素,根节点的子节点包含所有元素,这样才
2017-05-07 15:06:31
392
原创 动态规划
大公司的笔试题基本都会用到动态规划来求解最优化问题,所以必须熟练掌握这个算法。其实很多牛逼的算法,比如动态规划,回溯,贪心算法,分支界限等,都讲的是一种思想而已,如果仅仅只了解了这种思想,是没有用的。要理解算法,就必须把它们用在各种实战上,这才是编程的本质。动态规划理论:一个问题可以分解成若干个子问题,将各个子问题最优解组合起来又可以达到问题的最优解(必要条件)。有最优子结构,重叠子问题。
2017-05-07 12:08:33
473
原创 for循环内嵌递归用于排列组合
今天花了一段时间才理解for循环内嵌递归的运行机理,看了博客http://blog.youkuaiyun.com/mikayong/article/details/51706508,其中决定加上自己的一些理解。 首先看代码` void recur(int i,int n){ count++; cout<<”B>”; for(i;i<=n;i++){
2017-04-19 11:23:21
7711
2
原创 哈希表
哈希表:根据关键字(key)直接进行访问的数据结构。这个关键字通过某种规则映射到数组中的某个位置,以加快查找的速度。这个映射规则称为哈希函数,存放记录的数组称为哈希表。哈希表建立了关键字和存储地址之间的一种映射关系,是一种“空间换时间“的做法。常用的哈希函数(多用于信息安全领域):MD4、MD5、SHA-1. 后两个称为哈希安全算法。注:哈希算法不是一种加密算法,但由于其单向运算,具
2017-02-20 16:44:04
545
原创 算法题:跳台阶
(前几天去面试了一家公司的实习生,被刷了,很忧伤。。。其中有一道本不应该错的跳台阶问题,我要记下来,以示警戒。) 总共有n级台阶,一个人一次可以爬1级也可以爬2级,请问爬完n级台阶总共有多少种方法?这无非就是斐波那契数列问题,天啊,我一紧张,全忘了,直接懵逼。 这也是经典的青蛙跳台阶问题,一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级
2016-11-17 21:53:15
1029
原创 深度学习框架mxnet安装与使用
mxnet是一个深度学习的框架,我们可以在上面运行我们所需要的神经网络及各种深度学习的东西。这里总结一下在ubuntu上安装mxnet以及怎么使用我们自己的数据让mxnet跑起来。很遗憾的是我们的电脑gpu还不能用,只能先讲用cpu的。网上有很多关于这类的东西,我也看了很多,但感觉只有总结后才是自己的东西,不然看过之后不久又忘得干干净净。 (1)基本依赖安装
2016-11-11 13:34:16
12341
原创 window下安装Python的机器学习包numpy+scipy+matplotlib+scikit-learn
经过两三天的吐血安装,终于把python的那些机器学习算法包安装成功了。首先,window是64位的,所以要保证接下来要装的全都是64位的;其次比较坑爹的一点是这几个软件安装时要按那个顺序来,还有各个软件的版本必须一致。缺了某个条件,都会导致安装失败。 安装好python2.7后,最好用pip安装这些机器学习包。http://www.lfd.uci.edu/~gohlke/pyth
2016-06-30 15:58:06
3901
原创 【openCV】对图像进行锐化
采用filter2D()进行图像锐化,此函数可自己定义滤波核kernel。如,针对亮度不均的图像,我定义自己的核用此方法滤波后,可很明显凸出我们所要检测的目标。
2015-11-19 13:03:17
2105
原创 【图像处理】伽马(幂律)变换
图像伽马变化的基本形式为: s=cr^y 伽马变换可以很好地拉伸图像的对比度,扩展灰度级。由图可知,当图像的整体灰度偏暗时,选择y增亮;当图像整体灰度偏亮时,选择y>1,可以使图像变暗,提高图像的对比度,凸显细节。
2015-11-16 21:46:33
13715
原创 【openCV】载入图片过大(大于显示屏的分辨率),进行图片大小修改
即用resize()函数,先设定要缩小或放大的尺寸,后输出修改后的图片。
2015-10-12 16:44:05
19713
3
转载 cocos2-x自带快捷处理方式
1.数学类cocos2d-x 里使用最多的数学类型是CCPoint,一个点,本质上也是一个向量,对于向量和向量之间有很多的数学操作要做,oh我知道要干什么,也许我知道怎么求一个值但是不知道怎么求得高效(或者不知道),怎么办我能偷懒吗?那当然可以。这其实并不是一个懒的标准,因为有一些方法写多了也可能确实稍微有那么点麻烦,所以自然cocos2d提供了一套ccp系列来帮助我们完成很多的工作,也显
2014-05-18 17:22:04
868
进程管理(操作系统ppt)
2013-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人