-
堆和栈的区别
栈用于存储静态内存,堆用于动态内存分配,两者均存储在计算机的RAM中。 分配在堆栈上的变量直接存储到内存中,对该内存的访问非常快,并且在程序编译时会处理它的分配。栈
快速访问
不必显式取消分配变量
CPU有效管理空间,内存不会变得零散
仅局部变量
堆栈大小限制(取决于OS)
变量无法调整大小堆
变量可以全局访问
内存大小无限制
(相对)访问速度较慢
无法保证有效利用空间,随着时间的推移,内存块可能会随着内存块的分配而碎片化,然后释放
您必须管理内存(您负责分配和释放变量)
可以使用realloc()调整变量的大小 -
如何将buffer类型转化为mat类型
Buffer指的是unsigned char* 类型的图片内容(像素值)。cv::Mat src(Height, Width, CV_8UC3 ,Buffer,stride);
链接 -
重载、重用、重写的区别python
重用是用于在对象的概念中,实现代码的重用性
在继承角度,在子类继承父类之后,重新使用父类属性方法即是代码的重用
在组合角度,在一个类中以另外一个类的对象作为数据属性,提高代码的重用性重写用于继承概念下,子类继承父类需要同名的不同函数,即可修改重写同名方法。
重载是,函数或者方法有相同的名称,但是参数列表不相同(类型不同,数量不同,位置不同)的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。
转载于:https://www.cnblogs.com/ZKPython/p/10735883.html
-
数据预处理的方法
数据清洗:异常值和缺失值;
数据集成:实体识别,冗余属性识别;
数据转换:简单函数转换,连续特征离散化,规范化,构造属性
数据规约:数值规约,属性规约 -
SVM 为什么要引入拉格朗日的优化方法
拉格朗日对偶并没有改变最优解,而是改变了算法复杂度:在原问题下,求解算法的复杂度与样本维度(等于权值w的维度)有关;而在对偶问题下,求解算法的复杂度与样本数量(等于拉格朗日算子a的数量)有关。因此,如果你是做线性分类,且样本维度低于样本数量的话,在原问题下求解就好了,Liblinear之类的线性SVM默认都是这样做的;但如果你是做非线性分类,那就会涉及到升维(比如使用高斯核做核函数,其实是将样本升到无穷维),升维后的样本维度往往会远大于样本数量,此时显然在对偶问题下求解会更好。链接:https://www.zhihu.com/question/36694952/answer/69737932
一些问题的总结-3
最新推荐文章于 2024-08-08 15:12:59 发布