- 博客(12)
- 资源 (10)
- 收藏
- 关注
原创 kruskal算法实现最小生成树(图模型+小根堆+并查集)
生成树,是原连通图的极大无环子图,而最小生成树则是所有权值之和最小的这种图。kruskal算法的入手点是边。它每次取出这个图中权值最小的一条边,并得到这条边关联的两个顶点v1、v2,接着验证v1、v2之间是否存在通路,如果存在通路则舍弃它,如果不存在则将这两个顶点压入最小生成树中。在我的程序中,实现取图中权值最小的边用的是小根堆,实现判断两个顶点v1、v2是否存在通路用的是并查集,因为
2012-11-30 15:35:29 3370 1
原创 拓扑排序的C++实现(邻接表存图)
拓扑排序可以帮我们解决每两个物体之间有先后关系时遍历所有物体的问题,比如功课有先修后修关系时的排课表问题。程序是用图模型来实现的,首先先用邻接表的存储模型来建立整个图,然后调用拓扑排序算法。其中,拓扑排序用到一个记录每个结点入度数的临时数组,还用到一个栈结构,用来存取入度数为0的结点。如果图中含有有向环时则输出提示信息。#include #include #include #incl
2012-11-29 19:05:58 4498 1
原创 ACM zoj 1955(四分树实现)
这是道方阵颜色分割的题目,因而可以用四分树来解决。其实这道题对我来说,难点在于将要分割的颜色提取出来,因为当你遇到Q时说明你要将后面的颜色分成四块,如果在这之中又出现Q的话,那你就要用同样的方法将Q后面的颜色进行分割。刚开始可能急于求成,没有一步步耐心地找出规律,直到最后静下心来,从中总结出规律,才将这段算法写出来。#include #include #include #incl
2012-11-27 15:31:03 3127
原创 win8操作的快捷键
一、 Windows键1、Win+C:调出应用Charm菜单(Metro、传统桌面)2、 Win+D:所有程序最小化,再次按下恢复(Metro、传统桌面)3、Win+E:打开我的电脑(Metro、传统桌面)4、 Win+F:调出查找面板(Metro、传统桌面)5、Win+I:调出设置面板(Metro、传统桌面)6、Win+L:一键锁定电脑(Metro、传统桌面)7、 W
2012-11-25 18:39:57 868
原创 如何设置VMware中的win8与主机win7共享文件夹
首先设置虚拟机12-3-2 15:47 上传下载附件(67.26 KB)点击编辑虚拟机设置12-3-2 15:48 上传下载附件(70.77 KB)选项—共享文件夹 把禁用改为总是启用,确定12-3-2 15:48 上传下载附件(66.64 KB)出现虚拟文件夹向导
2012-11-25 18:22:22 5333
原创 开机速度变慢的思考
这两天电脑开机变得很慢,目测是驱动加载得很慢,因为开机后驱动的加载时间很长,尤其是网卡驱动的加载,但更新了驱动还是这样。。然后上网搜,有的说硬件问题,有的说天气冷也会。。。。但今天突然想起,这两天在用Oracle,之前用的Apache也很占内存,会不会是Oracle服务影响了开机的时间呢?结果一查果然是这样!将oracle的一些服务改为手动开启后问题解决~~~自己是不是成了吃螃蟹的第一人了呢?有些
2012-11-25 17:45:58 840
原创 ACM zoj 1217(自定义散列函数实现)
这道题也可以用map来实现,我这里用的是自定义散列函数。因为map是一种普通的实现方式,即是一种通用的实现方式,而对于一个具体的问题,如果你可以用针对这道题的行之有效的方法来解决的话,效率有可能就会高起来。#include#include#includeusing namespace std;#define max 190000 string M[2][max];queu
2012-11-18 11:26:55 1147
原创 ACM zoj 2724(堆实现 发现段错误)
之前做ACM题目时偶尔会出现段错误。段错误,之前也讲过,主要是内存的越界访问;但今天遇到的段错误的原因有些特殊,就是C++中的string类型也会引起段错误!!先看源代码:#include #include #include #include using namespace std;struct Heap{ string msg; //char msg[10]; 这里是根
2012-11-18 10:36:13 1146
原创 ACM zoj 3533(伸展树实现)
这道zoj的题目需要我们根据指令优先级的大小来取指令和执行指令。因此我们可以用伸展树来提高插入和删除的效率,当这些操作进行的次数较大时,伸展树的结构将趋于合理,因而我们的效率也会显著地提高。#include #include using namespace std;struct Node{ Node* lc,*rc,*par; int id,weight,prio; //weig
2012-11-11 16:46:02 1031
原创 最小堆的C++实现
最小堆,即树根的值是最小的,也是一棵完全二叉树。它以层次结构来区分值的大小。并且最小堆可以帮助我们高效地取出具有最小值。它也是实现优先级队列的高效结构。#include using namespace std;int heap[100];//下滑操作void siftDown(int start,int end){ //将start号结点向下调整直到end int i=s
2012-11-08 15:57:25 7672
原创 C++实现的完整伸展树程序
这两天学了伸展树,然后参考老师的一些源代码自己尝试写了下完整的实现过程。不过发现程序有些错误,于是自己开始调试,通过仔细地调试、一步步跟踪最终解决了自己发现的问题,在这个过程中发现伸展树的伸展过程挺复杂的,不过自己也从中提高了自己调试程序的能力,也加深了自己对伸展树程序执行过程的理解。如果大家发现以下程序的问题的话欢迎一起交流学习。#include using names
2012-11-03 15:55:28 1748
原创 中缀表达式的计算(含出错处理,括号处理)
以下是一个中缀表达式计算的程序,大体思路是利用两个栈,一个存放操作数,另外一个存放运算符,分别将输入的操作数和运算符存入其中,若输入的运算符优先级小于栈顶的运算符,则将栈顶的运算符取出,并将操作数栈的两个栈顶操作数取出进行运算,将运算结果重新填入栈中,而后将刚才输入的运算符压入运算符栈中。重复上述过程,直到运算符栈的有效运算符为空。为了区别不同运算符的优先性,我将+-*/的优先级的代号分别设为
2012-11-01 12:39:27 2973 1
[iOS5开发基础教程].(Beginning.iOS.5.Development.Exploring.the.iOS.SDK)
2013-02-03
3_Walkthrough+iOS+5.pdf
2012-12-17
W7CLogonUIChanger
2012-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人