语言
OceandingIT世界
男
展开
-
K-Means聚类算法
K-means聚类算法样本数据集:Q=[A1,A2,……Ak];其中A1=[a1,a2,……ad],k为样本个数,d为样本的维数;现将样本集聚类为N类。具体算法如下:(1)任意选取N个初始聚类样本:Ai……..Am ΞQ(2)求每个样本到聚类中心的距离(欧式距离),按距离最近原则进行聚类;(3)求取聚类后每一类中的样本均值,并以此作为新的聚类中心,重新进行聚类;(4)重复(2)原创 2013-10-08 16:19:58 · 631 阅读 · 0 评论 -
C++类中的static成员
C++类中的static成员,相当于类中的全局变量,但为了保持类的封装特性,类一般定义类静态成员,而不是定义一个可普遍访问的全局对象。当某对象对该成员进行了改变,则所有对象都做相同的改变。类static成员独立与该类的任何对象而存在,每个static数据成员与类关联的对象,而不是与该类的对象相关联。即类static成员是类的组成部分,而不是该类的对象的组成部分。static类数据成员:1、类原创 2013-10-08 16:20:02 · 399 阅读 · 0 评论 -
C/C++中指针与数组名的区别
引言 指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地进行着C/C++项目的开发,而身边还一直充满这样的程序员,他们保留着"数组名就是指针"的误解。 想必这种误转载 2013-11-02 22:09:11 · 350 阅读 · 0 评论 -
const 指针与指向const的指针
当使用带有const的指针时其实有两种意思。一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容。听起来有点混淆一会放个例子上来就明白了。 先说指向const的指针,它的意思是指针指向的内容是不能被修改的。它有两种写法。 const int* p; (推荐) int const* p; 第一种可以理转载 2013-10-18 12:32:49 · 305 阅读 · 0 评论 -
C/C++编程学习网站
C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。 1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段 2、htt原创 2013-10-08 16:20:00 · 1043 阅读 · 0 评论 -
C/C++中浮点数的存储
任何数据在内存中都是以二进制的形式存储的,例如一个short型数据1156,其二进制表示形式为00000100 10000100。则在Intel CPU架构的系统中,存放方式为 10000100(低地址单元) 00000100(高地址单元),因为Intel CPU的架构是小端模式。但是对于浮点数在内存是如何存储的?目前所有的C/C++编译器都是采用IEEE所制定的标准浮点格式,即二进制科学表示法转载 2013-10-14 20:47:49 · 290 阅读 · 0 评论 -
C++中虚析构函数与纯虚析构函数
虚析构函数 析构函数的工作方式是:最底层的派生类(most derived class)的析构函数最先被调用,然后调用每一个基类的析构函数。因为在C++中,当一个派生类对象通过使用一个基类指针删除,而这个基类有一个非虚的析构函数,则结果是未定义的。运行时比较有代表性的后果是对象的派生部分不会被销毁。然而,基类部分很可能已被销毁,这就导致了一个古怪的“部分析构”对象,这是一个泄原创 2013-10-15 23:59:37 · 351 阅读 · 0 评论 -
C++虚函数的实现机制
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使用方法,我在这里不做过多的阐转载 2013-10-14 00:03:41 · 293 阅读 · 0 评论 -
虚函数与构造函数与析构函数
1、构造函数能不能是虚函数: 1.1从存储空间角度虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。1.2从使用角度虚函数主要用于在信息不全的情况下,能使重载的函数得到对转载 2013-10-14 00:12:12 · 321 阅读 · 0 评论 -
Dijkstra算法
1、算法简介 Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。2、算法原理 1)初始时,S只包含源点,即S=v的距离为0。U包含除v外的其他顶点,U中顶点u距离为边上的(若v与u有边或原创 2013-10-08 16:19:56 · 399 阅读 · 0 评论 -
C++中的const关键字
1、普通const常量 1、定义全局const常量,该常量的作用局限于定义该常量的原文件中,若外部文件需要使用该常量,则需加extern关键字。//test1.cppconst int a=0; //作用域限于文件extern const int b=0 //可以供外部使用. .....//test2.cppextern const int原创 2013-12-13 12:23:42 · 347 阅读 · 0 评论