- 博客(26)
- 资源 (6)
- 收藏
- 关注
原创 html学习笔记
//这个白天大夏天去做劳力了~~,所以看的时间少了(找个理由,哈哈),不过终于看到表单了,之前都用问卷星之类的,终于可以装模做样了(虽然只是样子,不好交互。。。)表单action用于指定表单数据提交到哪个地址进行处理name用于给表单命名,主要是为了防止表单提交到后台引起混乱,所以这个好习惯还是现在养起吧~~method主要是提交到服务器进行数据处理时用哪种
2015-07-31 23:18:42 437
转载 sort和qsort的用法
好吧,承认知识匮乏,一直都是手打快排的,才知道有这个函数~~必须要科普一下。MSDN中的定义:templatevoid sort(RanIt first, RanIt last); //--> 1)templatevoid sort(RanIt first, RanIt last, Pred pr); //--> 2)头文件:#include using
2015-07-30 18:58:50 340
原创 html随笔
关于头部标记的学习标题(前文已有,不多说)meta元素的内容不会显示在页面上,一般用来定义说明,关键词,刷新等,meta不需要有结束标记,一个尖括号就是一个meta内容.设置页面关键字这里name为表明哪种属性名称,此处为keywords,后面在content后定义关键字,关键字的作用使用关键字搜索时,如果该网页包含该关键字,就可以在搜索结果中列出来,所以定义好的关键字还是
2015-07-28 21:21:38 300
原创 图的割边
//图的割边定义与图的割点类似,即去掉某条边之后,剩余的顶点之间不能相互之间到达,其实质就是将公式里的low[v]>=num[u]的等号去掉,因为"="说明能到//父节点,而父节点是被去掉的(不包含在剩余的点里),所以哪怕“=”也成立,而割边就是连父节点都到不了,所以改成low[v]>num[u]//另外值得注意的是在割点中,有一种特殊情况就是根节点之下只有一个子节点,这样不是割点,但它属
2015-07-27 20:41:31 494
原创 html随笔
单元格一 单元格二单元格三单元格三其中table是首标签,代表表格内容开始了即table row代表一行即table data代表每个方格内的数据从table开始,每一个table row代表一个新的一行,而每一行有可能包含一个或多个table data表格的属性其中数值大小以像素为参照,表示表格的边框的厚度.表示其宽度是屏幕的30%表示左
2015-07-26 22:26:13 328
原创 图的割边
//图的割边定义与图的割点类似,即去掉某条边之后,剩余的顶点之间不能相互之间到达,其实质就是将公式里的low[v]>=num[u]的等号去掉,因为"="说明能到//父节点,而父节点是被去掉的(不包含在剩余的点里),所以哪怕“=”也成立,而割边就是连父节点都到不了,所以改成low[v]>num[u]//另外值得注意的是在割点中,有一种特殊情况就是根节点之下只有一个子节点,这样不是割点,但它属
2015-07-24 21:20:49 1288
原创 图的割点
割点的定义:如果k是割点,那么剩下的没有被访问过的点中至少会有一个点在不经过k点的情况下,无论如何再也回不到已访问过的点的~~ 要完成这项工作需要两个数组num和low,num的下标是顶点编号,存储的是时间戳(即第几个被访问到的),low的下标是顶点编号,存储的是该定点在不经过父节点时,能够回到的最小时间戳(可以就是父节点),下面来了一个高大上的公式当v是u的子节点是,如果low[v]>=
2015-07-24 17:30:16 408
原创 html学习
元素a代表链接,属性href代表超文本引用例:这是个指向html.net的链接如果在同一个网站的不同网页不需要写出网页的完整URL(统一资源定位符)点击这里跳转到第二页id属性标出要指向的元素例标题1//即以后链接跳转到这里然后在链接中利用"#"来指向那个元素,“#”后面必须紧跟着一个id属性的值,表明链接指向该id属性被定义的地方。(比如之前定义了heading1,那么就
2015-07-23 23:36:06 346
原创 普里姆算法
普里姆算法:每次寻找一条权值较少,且一个顶点在集合内,另一个不在集合内的边,添加到集合内,因为该点的添加导致其余dis[i]储存的非生成树点到生成树的距离改变,如果其余非生成树点到该点的距离比原来缩短了,那就改变dis[i]的值.#include int main(){ int dis[101]; int book[101]; int a[101][101]; in
2015-07-21 22:15:23 785
原创 二分图最大匹配
#include int book[101];int match[101];int a[101][101];int n;int dfs(int i); int main() { int i,j,m,b,c,sum; scanf("%d%d",&n,&m); for (i=1;i { scanf("%
2015-07-21 22:00:35 298
原创 克鲁斯卡尔算法
//每次选择最短的边,同时保证边的两个端点并不相连(判断相连可用并查集),之前先排序typedef struct s{ int a; int b; int c;}s;s w[101];int pre[101];int find(int i){int temp,j=i;while (pre[i]!=i){ i=pr
2015-07-16 19:54:01 593
原创 并查集(保存分组结果)
//如果只是输出有多少个团伙,那么只要比较pre[i]==i即可,但是若要求将不同的组织分行打印出来,那么需要注意要再压缩一次路径,即再find()一次~#include int pre[101]; void merge(int b,int c); int find(int i); int main() { int i,m,n,c,d,sum,ok;
2015-07-16 19:50:19 922
原创 堆的应用!--求第k大数
求一个数列中的第k大的数,将前k个数建最小堆,后面若比堆顶元素还小,则舍去,否则将堆顶置换成该元素,然后维护堆,最后输出堆顶元素~~若求第k小的数,则只需建最大堆即可。#include int a[101];int n; void down(int i) { int t,temp; while(i*2 {
2015-07-16 19:48:24 3324
原创 堆排序
//堆排序的根据是什么,就是每个堆的顶部的元素一定是最小值,那么我先建一个堆,每次记录下堆顶元素,然后把重新排列(这里有点技巧),减少堆的元素个数。//注意堆的n是会变化,所以要先记录下来。//处于同一层的节点大小不能判断,所以每次提取了堆顶元素就必须重新维护一次。(代码在sort部分)#include int a[101];int n;void down(int i)
2015-07-16 19:41:32 289
原创 堆的建立
对堆的常见操作一般有两种,一种是新增一个值并将其置于堆顶,然后对堆进行调整,另一种是仅仅新增一个值,将元素放入堆的顶部,这样就带来两种不同的堆的建立。第一种方式是通过每次将元素置于堆的底部,然后调整,采用类似插入排序的方法,保证每次调整后,都是最小堆。时间复杂度O(NlogN)#include //建立一个堆第一种方法int h[101];void up(int i)//这
2015-07-15 20:12:23 689
原创 堆的调整
#includeint h[8]={-1,1,2,3,4,5,6,7};//这里假设有这样一个堆,用来测试向下调整的正确性,后面会讲到堆的建立,第一个数不用int n;void siftdown(int i)//从某个节点作为根节点向下调整{ int t,temp;//应该是父节点小,子节点大,而一旦子节点小,就需要调整了~~ while (i*2 {
2015-07-15 19:56:13 849
原创 Bellman-For判断负权回路
//Bellman--Food解决负权边//什么叫负权回路,就是一个图内每个边的权值有正有负,且存在回路使该回路的权值之和为负数,就叫做负权回路,负权回路是不能求两点之间的最短路的,因为如果得到一个最短路,那么再走一次负权回路就会更短~~//注意文中默认的是有向图,所以要注意测试数据//判断负权回路只需在原来n-1次循环之后再进行一次判断,若还能放缩,就说明含有负权回路//第一行读
2015-07-14 21:54:41 1153
原创 Bellman-Ford的队列优化
//Bellman--Food解决负权边//第一行读入n代表有1到n个节点,m表示有m个关系式//接下来m行u[i],v[i],w[i],分别表示起点,终点,和之间的距离,求1到其余各店的最短距离。#include int main() { int u[101],v[101],w[101],dis[101]; int i,j,k,n,m,flag;
2015-07-14 18:55:40 927
原创 Bellman-Ford算法
//Bellman--Food解决负权边//第一行读入n代表有1到n个节点,m表示有m个关系式//接下来m行u[i],v[i],w[i],分别表示起点,终点,和之间的距离,求1到其余各店的最短距离。#include int main() { int u[101],v[101],w[101],dis[101]; int i,j,k,n,m,flag;
2015-07-14 18:35:25 386
原创 迪杰斯特拉邻接矩阵存储方式
#include int main() { int a[101][101]; int i,j,c,d,e,n,m,min,u,k; int book[101]; int dis[101];//1到其余点的的距离 scanf("%d%d",&n,&m); for (i=1;i for (j=1;j
2015-07-08 21:06:14 945
原创 弗洛伊德算法
#include //弗洛伊德算法求解任意两点之间的距离 int main() { int a[100][100]; int i,j,k,n,m,c,d,e; scanf("%d%d",&n,&m); for (i=1;i for (j=1;j if (i==j)a[i][j]=0; els
2015-07-08 21:04:12 611
原创 图的宽度优先遍历--最少转机
//题目描述:第一行第一个数n代表有n个城市,第二个数m代表有m个航班,接下来两个数代表起点和终点//接下来m行,每行3个数表示c到d有航班,注意两个城市之间的航班可以互相到达,求最少转机次数#include #include #include using namespace std;int book[101];int a[101][101];int n;int
2015-07-08 21:01:44 1475
原创 图的深度优先遍历--城市地图
//题目:第一行第一个数n表示城市个数(1~n),第二个数m表示公路个数//接下来有m行数据表示c到d有e千米,每条公路都是单行的,求1到n的最短路径#include int book[100];int a[100][100];int min=10000;int n;int dfs(int cur,int step);int main() {
2015-07-07 22:50:00 1130
原创 图的宽度优先搜索
图的宽度优先搜索是按照某种顺序访问一个节点的所有子节点,这一层节点扫描结束后再扩展到下一层访问顺序为1-2-3-4-5现在在第一行输入n个节点,m个关系式接下来输入m行关系式,每行关系式包含c,d分别表示c,d节点相连要求输出图的宽度有限遍历顺序~~#include #include #include using namespace std;
2015-07-06 21:56:59 1535
原创 图的深度优先搜索
图的深度优先遍历是优先沿着某一条分支遍历,按照某种顺序(比如文中是按照从编号小节点到编号大节点),访问该分支的所有子节点然后回溯,沿着另一条分支做同样的操作.如图按照深度优先搜索的顺序为1-2-4-3-5现在在第一行输入n(1~n节点),m个关系式接下来输入m行关系式,表示c,d相连,要求输出深度优先搜索的顺序~~#include void dfs(
2015-07-06 21:46:54 1082
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人