C++ 类中protected的通俗解释

举个例子,假如我们要定义人这个类,其中每个人都有三种财富:养老金,子女金,生活金。 首先是生活金,每个人的生活金其实都是可以对外公开的,所以应该可以设置为public,但是遗产和养老金是不对外公布的。 那么问题来了,遗产和养老金是不是都应该设置为private呢? 其实不然,养老金不能由孩纸瞎改,...

2019-06-05 18:08:52

阅读数 6

评论数 0

TensorFlow 中的identity()函数

identity: n.身份; 本身; 本体; 特征; 特有的感觉(或信仰); 同一性; 相同; 一致; identity的意思是自身的意思,简单说就是赋值。 x = tf.Variable(0.0) y=x 和下面的: x = tf.Variable(0.0) y=tf.ide...

2019-06-04 10:34:17

阅读数 7

评论数 0

TensorFlow入门(一)

张量,节点,命名理解 在定义静态图的时候, a = tf.constant([1.0,2.0],name='x') b = tf.constant([1.0,2.0],name='y') c = tf.add(a,b,name='nmsl') print(c) <tens...

2019-05-30 20:26:03

阅读数 14

评论数 0

为什么赋值函数需要返回值?

class A { … public: A(const A &a); A & operate =(const A &a); }; 其实复制函数可以声明为void 的,但是考虑到人们在使用时经常有a=b=c这种连续...

2018-12-04 20:56:40

阅读数 168

评论数 0

高斯混合模型算法

聚类的方法有很多种,k-means要数最简单的一种聚类方法了,其大致思想就是把数据分为多个堆,每个堆就是一类。每个堆都有一个聚类中心(学习的结果就是获得这k个聚类中心),这个中心就是这个类中所有数据的均值,而这个堆中所有的点到该类的聚类中心都小于到其他类的聚类中心(分类的过程就是将未知数据对这k个...

2018-10-07 10:17:23

阅读数 66

评论数 0

11.连通域问题

问题描述 问题分析 所有的矩阵连通域问题都是用递归方式解决,可以总结出一套通用的算法,就是首先处理当前位置的元素,然后根据题目的连通域设置,对周围4领域或者8邻域进行递归处理。 代码 class Solution { public: void Change(vect...

2018-08-13 10:01:52

阅读数 175

评论数 0

10.跳房子问题

2.问题分析 能不能跳到最后,直观的想法就是站在当前点看看能不能跳到终点,比如4,2,2,3,1从前到后依次便利就可以啦。但是这就涉及一个问题比如3,2,0,0 ,3,1,如果依次遍历的话,结果是可以到达终点,但是有个问题虽然倒数第二个3可以到达终点,但是没法到达倒数第二个3,换句话讲,就是...

2018-08-08 10:09:07

阅读数 34

评论数 0

9.对有序矩阵进行搜索

1.问题陈述 2.问题分析 考虑到矩阵为有序矩阵呢个,下面的大于上面的,左面的小于右面的,所以可以从右上角进行搜索。 3.代码 bool searchMatrix(vector<vector<int> &amp...

2018-07-30 09:19:24

阅读数 63

评论数 0

8.对2D图像进行旋转

一、问题描述 二、问题分析 该问题是一个实际问题,对于图形学处理常常涉及到旋转,不过在数字图像图例方面,旋转是将图形矩阵乘上一个2*2的矩阵,从而达到对图片的旋转效果。在本问题中考虑到内存占用问题,考虑用其他方式,其实仔细研究可以发现图像旋转可以分解为先沿对角线对折,然后沿着中轴线对折。 ...

2018-07-26 09:13:43

阅读数 140

评论数 0

7.开根号问题

1.题目2.问题分析分析一种牛顿法解决方案求x^2=n,利用f(x)=x^2-n=0,则就是求解f(x)=0时x的值,每次迭代的坐标为x=1/2(x'+n/x'),具体推到非常简单,不在此详述。3.代码class Solution { public:     int sqrt(int x) {  ...

2018-07-16 13:43:45

阅读数 531

评论数 0

6.全排列问题

1.问题描述2.问题分析全排列问题归根到底就是要把所有可能都找出来,一般方式就是深度或者广度遍历。本文考虑利用深度遍历结合回溯的方案。举个例子。假如第一次选择1,则第二次可以选择2,第三次选择3,这样三个元素就利用完了,接着退回到第二步,第二次可以选3,则第三步可以选2。依然退回到第二步,发现第二...

2018-07-13 08:41:56

阅读数 95

评论数 0

5.括号匹配问题

2.分析问题好吧,这道题之前见过,所以也谈不上分析,直接用栈的思想去解决,当时左边括号时直接压入,如果时右边括号时,看看顶部的元素是不是对应的左括号,如果是就弹出,否则压入该右括号。最后统计栈是不是非零,如果是非零就返回true.代码如下: bool isValid(string s) ...

2018-07-10 09:12:08

阅读数 73

评论数 0

4.最大容器问题

1.问题描述2.分析问题如何从下面选出两个竖线,这样组合出来的容器能装的液体最多。直观考虑就是把所有的组合可能能遍历一遍,不过这样的时间复杂度就比较高,为O(n^2).仔细考虑可以发现,如果两边往中间靠拢,假如当前处在左i与右j的位置,那么如果挪动一下的话,只能是较小的一边往内缩才有机会变成最大容...

2018-07-09 17:32:07

阅读数 50

评论数 0

3.第三大的数

1.分析问题首先直观考虑的话,可以利用三次遍历解决问题,但是时间复杂度不符合要求。其次考虑用三个中间值first,second,third来进行一次遍历解决问题,具体实施方式是将三个变量都用INT_MIN来初始化,每次对比当前遍历的值与每个变量之间的关系,不管更新进而达到目的。在本文中将介绍第三种...

2018-07-08 11:00:31

阅读数 105

评论数 0

2.矩阵旋转填入数字

题目和上一题矩阵旋转读取思路没有一点差异,所以直接贴出代码,并附上注释。vector<vector<int> > generateMatrix(int n) { /*matrix 为输...

2018-07-06 09:06:47

阅读数 97

评论数 0

1.顺时针螺旋形式读取矩阵的值

一.考虑解决方案    首先是移动方向分别是右,下,左,上,一般处理矩阵问题都是用一个向量表示,很自然的可以用以下表达方式来处理vector<vector<int>> direction={{0,1},{1,0...

2018-07-06 08:56:57

阅读数 174

评论数 0

编程中小数为什么 称为浮点数?

假如我们的浮点数: float a=1.0; 在c++中,假设a占用四个字节,则该数可以由32位的0和1表示。具体表示如下: 0              01111111      00000000000000000000000 符号位      阶位               尾数 ...

2018-01-19 22:15:45

阅读数 929

评论数 0

c++中的引用问题

#include #include using namespace std; class Father { private: int a; public: virtual void show(){ cout }; class Son:public Father { pri...

2017-05-25 20:03:02

阅读数 121

评论数 0

cout问题

cout cout 一般的书上说,cout会有缓冲效果,所以当数据比较少的时候会放在缓冲区,但是实践发现,上面二者效果差距不大, 所以cout只要满足一定条件的话也会flush,不一定非要添加转行符来刷新,比如再cout析构时,或者遇到其他输入输出 对象时,所以无需在这种情况再细究。

2017-05-23 16:49:37

阅读数 175

评论数 0

通俗理解最大似然估计,最大后验概率估计,贝叶斯估计

以下所有例子都是抛硬币问题,在两次试验中出现正,反两次结果,求该硬币出现正面的概率p, 最大似然估计:       假设分布为伯努利分布,也就是二项分布,出现正面的概率是p,则下次出现上述实验结果现象的概率是:L=P(1-p),如何才能让下次出现相同结过的概率最大?自然是L越大越好,则p=0.5,...

2017-05-04 15:41:55

阅读数 2330

评论数 0

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