最短路径的O(ElgV)的解法。
使用邻接表存储图,使用堆操作选取下一个最小路径点。
本题的难度并不在最短路径本身这个算法,而是在于堆的操作:
1 使用双重指针操作堆的节点,可以省去直接复制操作堆节点,提高效率,并且这才是有效操作动态地址数据的方法,不用双重指针,我思考了下,觉得更加不好做。
2 使用一个数组记录当前顶点在堆中的位置,相当于一个hash表了,可以需要的时候,直接从表中查找表...
分类:
其他好文 时间:
2014-06-07 02:03:17
阅读次数:
214
1.在一般情况下,指向一种类型对象的指针不允许指向另一种类型的对象,然而指向基类对象的指针可以指向该基类的共有派生类对象(反过来不成立),这是运行时,多态的基础。指向基类队象的指针指向派生类对象后,可以访问派生类中有基类继承下来的成员,但不能访问那些派生类对象自己增加的成员。
2.一个含有虚函数的类称为多态类。
3.虚函数就是在一个类中用virtual定义的成员函数。基类的虚函数在派生类中仍是...
分类:
编程语言 时间:
2014-06-07 01:27:01
阅读次数:
236
C++标准语法中我们可以通过 * 来定义指针 &来指定引用,不过我们似乎没有直接的方法可以用一个指针定义一个指针所指类型的引用或原始类型,本文所述方法即用来解决此问题...
分类:
编程语言 时间:
2014-06-07 01:12:47
阅读次数:
339
一:strtok
C/C++:char *strtok(char s[], const char *delim);
s 代表需要分割的字符串,delim代表分割的标志,参数都为比选!返回指向分割部分的指针,如果没有分割成功就返回NULL.
一个简单的例子:...
分类:
其他好文 时间:
2014-06-05 10:01:51
阅读次数:
139
用于大型程序的工具--异常处理[续3]九、auto_ptr类[接上]5、auto_ptr对象的复制和赋值是破坏性操作 auto_ptr和内置指针对待复制和赋值有非常关键的区别。当复制auto_ptr对象或者将它的值赋给其他auto_ptr对象的时候,将基础对象的所有权从原来的auto_ptr对象转给副本,原来的auto_ptr对象重置为未绑定状态。 auto_ptr strPtr1(new ...
分类:
编程语言 时间:
2014-06-05 08:34:36
阅读次数:
366
1.脑图
2.表示方法
按照数据结构概述所说,线性表有两种表示方法分别是顺序表示和链式表示,链表就是链式表示的典型。
我们知道链式表示是分配了n块内存空间,可以认为彼此不连续,所以不能用偏移量去定位每个元素。
下面就先说最简单的单向链表:
如果每个数据元素能有一个指针指向下一个元素的话,那么只需要知道第一个数据元素就能一个一个的遍历整个链表了,这就是单向链表。...
分类:
其他好文 时间:
2014-06-05 06:59:17
阅读次数:
300
用于大型程序的工具--异常处理[续2]八、自动资源释放 考虑下面函数:void f()
{
vector v;
string s;
while (cin >> s)
{
v.push_back(s);
}
string *p = new string[v.size()];
//...
delete p;
}
在正...
分类:
编程语言 时间:
2014-06-05 06:07:27
阅读次数:
393
题目:输入一个整数s,打印出全部和为s的连续整数序列(至少含有2个数)。比如输入9,则输出2、3、4和4、5两个序列方案一:因为序列至少要2个数,则两个数上限值为(1+s)/2,我们能够枚举该序列的起点和终点求全部满足的序列。时间复杂度为O(n^2),效率比較低方案二:我们设置两个指针start和e...
分类:
其他好文 时间:
2014-05-31 04:07:27
阅读次数:
282
*含义1.乘法 3*5 2.定义指针变量 int *
p;//定义了一个名字叫p的变量,能够存放int数据类型的地址3.指针运算符, //如果p是一个已经定义好的指针变量则*p表示以p的内容为地址的变量
打印数据类型%d - int%ld – long int%c - char%f ...
分类:
移动开发 时间:
2014-05-31 01:04:05
阅读次数:
346
C语言规定:如果指针变量P已指向数组中的一个元素,则P+1指向同一数组中的下一个元素。引入指针变量后,就可以用俩种方法来访问数组元素了。如果p的初值为&a[0],则:P+i和a+i就是a[i]的地址,或者说它们指向a数组的第i个元素。*(p+i)或*(a+i)就是p+i或a+i所指向的数组元素,即a...
分类:
其他好文 时间:
2014-05-30 23:52:55
阅读次数:
492