上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 33 下一页
摘要: static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static全局变量、局部变量、静态全局变量、静态局部变量的区别 C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。从作用域看: 全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。 静态局部变量具 阅读全文
posted @ 2012-04-16 15:25 ☆A希亿 阅读(669) 评论(0) 推荐(0) 编辑
摘要: 在一个具有几个顶点的连通图G中,如果存在子图G'包含G中所有顶点和一部分边,且不形成回路,则称G'为图G的生成树,代价最小生成树则称为最小生成树。 许多应用问题都是一个求无向连通图的最小生成树问题。例如:要在n个城市之间铺设光缆,主要目标是要使这 n 个城市的任意两个之间都可以通信,但铺设光缆的费用很高,且各个城市之间铺设光缆的费用不同;另一个目标是要使铺设光缆的总费用最低。这就需要找到带权的最小生成树。 性质最小生成树的边数必然是顶点数减一,|E| = |V| - 1。最小生成树不可以有循环。最小生成树不必是唯一的。Prim算法与Kruskal算法是寻找最小生成树的经典方法。 阅读全文
posted @ 2012-04-12 20:21 ☆A希亿 阅读(4523) 评论(0) 推荐(1) 编辑
摘要: C++ QueuesThe C++ Queue is a container adapter that gives the programmer a FIFO (first-in, first-out) data structure.Display all entries for C++ Queues on one page, or view entries individually:Queue constructorconstruct a new queuebackreturns a reference to last element of a queueemptytrue if the q 阅读全文
posted @ 2012-04-12 12:40 ☆A希亿 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 光照模型3D渲染中,物体表面的光照计算公式为:I=环境光(Iambient) +漫反射光(Idiffuse) +镜面高光(Ispecular);其中,环境光(ambient)计算公式为:Iambient= Aintensity* Acolor;(Aintensity表示环境光强度,Acolor表示环境光颜色)漫反射光(diffuse)计算公式为:Idiffuse= Dintensity*Dcolor*N.L;(Dintensity表示漫反射强度,Dcolor表示漫反射光颜色,N为该点的法向量,L为光源向量)镜面光照(specular)计算公式为:Ispecular= Sintensity*Sc 阅读全文
posted @ 2012-04-10 22:24 ☆A希亿 阅读(2216) 评论(0) 推荐(0) 编辑
摘要: set是STL中一种标准关联容器(vector,list,string,deque都是序列容器,而set,multiset,map,multimap是标准关联容器),它底层使用平衡的搜索树——红黑树实现,插入删除操作时仅仅需要指针操作节点即可完成,不涉及到内存移动和拷贝,所以效率比较高。set,顾名思义是“集合”的意思,在set中元素都是唯一的,而且默认情况下会对元素自动进行升序排列,支持集合的交(set_intersection),差(set_difference) 并(set_union),对称差(set_symmetric_difference) 等一些集合上的操作,如果需要集合中的元素 阅读全文
posted @ 2012-04-10 21:54 ☆A希亿 阅读(50474) 评论(0) 推荐(1) 编辑
摘要: 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆节点的访问通常堆是通过一维数组来实现的。在起始阵列为 0 的情形中:堆的根节点(即堆积树的最大值)存放在阵列位置 1 的地方; 注意:不使用位置 0,否则左子树永远为 0[2]父节点i的左子节点在位置 (2*i);父节点i的右子节点在位置 (2*i+1);子节点i的父节点在位置 floor(i/2);对vector中的数据进行堆排序: 1 #include <iostream> 2 #include <ve 阅读全文
posted @ 2012-04-10 20:58 ☆A希亿 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 教你如何迅速秒杀掉:99%的海量数据处理面试题作者:July出处:结构之法算法之道blog前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。 毕竟受文章和理论之限,本文将摒弃绝大部分的细节,只谈方法/模式论,且注重用最通俗最直白的语言阐述相关问题。最后,有一点必须强调的是,全文行文是基于面试题的分析基础之上的,具体实践过程中,还是得具体情况具体分析,且场景也远比本文所述的任.. 阅读全文
posted @ 2012-04-09 21:42 ☆A希亿 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 一、动态链接库的概念 动态链接库(Dynamic Link Library,缩写为DLL)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件(exe)非常类似,区别在于DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。 动态链接是相对于静态链接而言的。所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分。换句话说,函数和过程的代码就在程序的exe文件中,该文件包含了运行时所需的全部代码。当多个程序都调用相同函数时... 阅读全文
posted @ 2012-04-08 22:42 ☆A希亿 阅读(1802) 评论(0) 推荐(0) 编辑
摘要: 全排列算法:#include<iostream>using namespace std;template <class Type>void Perm(Type list[], int k, int m){ if(k==m) { for(int i=0; i<=m; i++) cout << list[i]; cout << endl; } else for(int j=k; j<=m; j++) { Swap(list[k],list[j]); Perm(list, k+1, m); Swap(list[k],list[j]); }} 阅读全文
posted @ 2012-04-05 20:53 ☆A希亿 阅读(738) 评论(0) 推荐(0) 编辑
摘要: 算法编程题:1、给定一个字符串,求出其最长的重复子串。思路:使用后缀数组,对一个字符串生成相应的后缀数组后,然后再排序,排完序依次检测相邻的两个字符串的开头公共部分。这样的时间复杂度为:生成后缀数组 O(N)排序 O(NlogN*N) 最后面的 N 是因为字符串比较也是 O(N)依次检测相邻的两个字符串 O(N * N)总的时间复杂度是 O(N^2*logN),解答:对于类似从给定的文本中,查找其中最长的重复子字符串的问题,可以采用“后缀数组”来高效地完成此任务。后缀数组使用文本本身和n个附加指针(与文本数组相应的指针数组)来表示输入文本中的n个字符的每个子字符串。 首先,如果输入字符串存储在 阅读全文
posted @ 2012-04-04 20:34 ☆A希亿 阅读(3047) 评论(0) 推荐(0) 编辑
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 33 下一页