2013年7月12日
摘要: C++ 虚函数详解这篇文章主要是转载的http://blog.csdn.net/haoel/article/details/1948051这篇文章,其中又加入了自己的理解和难点以及疑问的解决过程,对难懂的地方进行了一些必要的解释注释,当然对错误也进行了纠正。前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要. 阅读全文
posted @ 2013-07-12 10:28 Coding for myself 阅读(581) 评论(0) 推荐(0)
  2013年4月27日
摘要: 这个和我上一篇随笔差不多,只是不仅要知道给定点到所有其他点的最短路径,而且还要把路径给数出来,思想很好理解,如图:顶点1到5的最短路径是14,具体路径是1-->4-->6-->5这个先后顺序是如何确定的?其实很简单,当你用Dijstra算法跑过一遍后,那么D[i]里的值就应该是最新的,也就是给定点到其他所有点的最短路劲长度已经确定了(下标从0开始),D[0]=0,D[1]=5,D[2]=9,D[3]=7,D[4]=14,D[5]=13,所以从这就可以看出D[5]<D[4],所以6在5的前面通过前面求出来的P[i][j]数组可以知道所要经过的点,而有D[i]数组又可以知道 阅读全文
posted @ 2013-04-27 16:31 Coding for myself 阅读(848) 评论(0) 推荐(0)
  2013年4月24日
摘要: VC++6.0调试以后控制台窗口关不掉,然后再编译连接就出现一个错误,大概意思是由于调试的控制台未关闭,按下shift+f5或者选择debug ------stop debuging停止调试,不停止调试,是关不了控制台窗口的。但是当我stop debuging还是不行打开任务管理器强制停止进程也无法终止控制台窗口。关掉VC++ 6.0之后,控制台窗口直接消失。网上查到的一种方法,可以解决我碰到的问题。我的系统是64位的Win7,VC++ 6.0貌似与我的Win7不兼容,替换掉两个文件就解决问题了在VC++ 6.0的安装目录下替换掉DM.DLL,TLLOC.dll即可,目录为***\MSDe.. 阅读全文
posted @ 2013-04-24 20:15 Coding for myself 阅读(924) 评论(3) 推荐(0)
  2013年4月12日
摘要: Floyd算法用于求每一对顶点间的最短距离。与Dijkstra算法相比较,时间复杂度均为O(n2),但Floyd算法形式上更简单一些。一、Floyd算法的原理首先记录两点间无其他中间顶点的距离(Vi---Vj),加一个顶点为中间点,记录加一个顶点后两点间的最短距离,以此类推,加完N个顶点后两点间的最短距离即可求出。二、算法实现 用三重循环实现。用二维数组表示顶点到顶点的距离。如D[i][j]表示从i到j点的距离。第一层循环依次加顶点,第二层循环遍历Vi点,第三层循环遍历Vj点。/*graph.h文件*///---------图的数组(邻接矩阵)存储表示----------#include... 阅读全文
posted @ 2013-04-12 12:57 Coding for myself 阅读(626) 评论(0) 推荐(0)
摘要: Dijkstra算法思想及实现一、算法思想首先,引进一个辅助向量D,它的每个分量D[i]表示当前所找到的从始点v到每个终点vi的最短路径的长度。如D[3]=2表示从始点v到终点3的路径相对最小长度为2。这里强调相对就是说在算法过程中D[i]的值是在不断逼近最终结果但在过程中不一定就等于最短路径长度。它的初始状态为:若从v到vi有弧,则D[i]为弧上的权值;否则置D[i]为∞。显然,长度为D[j]=Min{D[i]|vi∈V}的路径就是从v出发的长度最短的一条最短路径。此路径为(v,vj)。那么,下一条长度次短的最短路径是哪一条呢?假设该次短路径的终点是vk,则可想而知,这条路径或者是(v,vk 阅读全文
posted @ 2013-04-12 12:34 Coding for myself 阅读(702) 评论(0) 推荐(0)
摘要: 第一节图的基本概念1.图的定义和术语图是一种数据结构。ADTGraph{数据对象V:V是据有相同特性的数据元素的集合,称为顶点集。数据关系R:R={VR}VR={<v,w>|v,w∈V且P(v,w),<v,w>表示从v到w的弧,P(v,w)定义了弧<v,w>的意义或信息}图中的数据元素通常称为顶点,V是顶点的有穷非空集合;VR是两个顶点之间的关系的集合,若顶点间是以有向的弧连接的,则该图称为有向图,若是以无向的边连接的则称为无向图。弧或边有权值的称为网,无权值的称为图。2.图的存储结构邻接表、邻接多重表、十字链表和数组。这里我们只介绍数组表示法。图的数组表示 阅读全文
posted @ 2013-04-12 10:46 Coding for myself 阅读(449) 评论(0) 推荐(0)