Content Preview: rss
1212 days ago
刚回家两天,还没歇停休息下,就开始马不停蹄的上车训练..........车开得越来越快,加速和飞车的感觉真的比较爽——后果是教练在旁边不停碎烦:慢一点慢一点,控制速度!。。。被教练骂了.....9号考车,还是夜考,黑不咙咚的估计可以混过去................. 考完车,拿到驾照,嘿嘿,那时候就开车到处玩!!! kevin貌似对我新手开车出去心惊肉跳的........嘿嘿~~~ 题目4 Hash表问题(有的书说的是 散列表,好像貌似可能就是同一个东西);里面就改了个find的函数,其他就是代码重用,偷懒抄来的............ 1. 问题描述:假设有一个100*100的稀疏矩阵,其中1%的元素为非零元素,现要求对其非零元素进行散列存储,使之能够按元素的行、列值存取元素(即元素的行、列值联合为元素的关键字),试采用除留余数法构造散列函数和线性探查法处理冲突,分别设计出建立散列表和查找散列表的算法。 2. 实现设计: ①由题意可知,整个稀疏矩阵中非零元素的个数为100个。为了散列存储这100个非零元素,需要使用一个称为散列表的一维数组,该数组中元素的类型为: Struct DataType { int row; //存储非零元素行下标 int col; //存储非零元素列下标 float val; //存储非零元素值 }; ②假定用H[m]表示这个散列表,其中m为散列表的长度,若取装载因子为0.8左右,则令 M=127 为宜(127为质数); ③按照题目要求,需根据稀疏矩阵非零元素的行下标和列下标存取散列表中的元素,所以每个元素的行下标和列下标共同组成元素的关键字。假定用x表示一个非零元素,按除留余数法构造散列函数,并考虑尽量让得到的散列地址均匀分布,可以采用如下的散列函数: Hash(x)=(13*x.row+17*x.col) % m. 3. 附录:程序清单如下: #include ...
1226 days ago
回来了回来了回来了.................. 热死了热死了热死了!!!!!!!!!!!!!!!! 作了一天一夜的火车(硬座);全身都是煤灰的回到家............弄好电脑上网,洗个澡,去百大买双鞋~~~~ 半夜小猪说出去夜宵,真是力气没了.............. 题目:选址问题 图的应用 1. 问题描述:给定n个小区之间的交通图。若小区i与小区j之间有路可通,则将顶点i与顶点j之间用边连接,边上的权值 表示这条道路的长度。现在打算在这n个小区中选定一个小区建一所医院。试问这家医院应建在哪个小区,才能使距离医院最远的小区到医院的路程最短?请设计一个算法求解上述问题。 2. 实现设计:将n个小区的交通图视为一张带权无向图,并利用邻接矩阵来存放带权无向图。算法的思想是: ①应用Dijkstra算法(根据Dijkstra算法的思想,自己设计Dijkstra算法)计算每对顶点之间的最短路径; ②找出从每一个顶点到其它各顶点的最短路径中最长路径; ③在这n条最长路径中找出最短的一条,则它的出发点即为所求。 3.附录:测试小区交通图如下图: (试着贴了一下,贴不上去,大家自个儿yy吧) 算法及测试程序如下: #include <iostream.h> #include <stdlib.h> typedef char DataType; const int MaxStackSize=100; #include "SeqStack.h" typedef char VerT; typedef char DataType; const int MaxVertices = 100; const int MaxWeight = 9999; #include "AdjMWGraph.h" //邻接矩阵 #include "Dijkstra.h" //最短路径的算法(运筹学里也有用) #include "CreatAdjMWGraph.h" //构造图 ...
1238 days ago
下午又考完一门,反复看书看了一周,发现可以从一点不会到差不多都会......然后再看到想吐........还有三门轻松得多的..........现在学习,不太重要的课,平时偶尔去上上,考试前一周开始仔细研究书,看到吐了,考试还能考个马马虎虎......艾,这种学习态度,自己都惭愧.... 昨天和老妈打电话,算算马上就要回家了,然后又是学车,到八月十二号路考;然后估计又玩不了不了几天,就要返校了........还没开始放假呢就开始发愁了~~~~~艾! 题目:背包问题------这个问题原来我还以为要把具体的解给求出来,结果发现自己没这个能力,只能满足老师的要求完成作业了......求解是否存在~~ 1. 问题描述:设有一个背包可以放入的物品重量最重为s,现有n件物品,它们的重量分别为w[0]、 w[1]、w[2]、…、w[n-1]。问能否从这n件物品中选择若干件放入此背包中,使得放入的重量之和正好为s.如果存在一种符合上述要求的选择,则称此背包问题有解(或称其解为真);否则称此背包问题无解(或称其解为假)。 #include<iostream.h> #include<stdlib.h> typedef int DataType; class bag { private: int s; int n; int *w; public: bag(int N,int S,int W[]){s=S;n=N;w=W;} ~bag(){} int KNAP(int s,int n) { if(s==0)return 1;if (s<0 s>0&&n<1)return 0; if(KNAP(s,n-1)){;return 1;} return KNAP(s-w[n-1],n-1); } }; void main() { int n; cout<<"请输入物件个数:";cin>>n; int *m=new int[n]; cout<<"请输入各个物件重量:"; for(int ...
1240 days ago
都到放假的日子了,据说杭州已经回去了不少人!................ 荷包小猪,还有kevin都准备给我接风呢! 可惜还有好几门考试,要道7月20才会到杭州..................后天就是门 运筹学,混得不容易啊 前几天终于把课程设计给搞定了............哗哗的打印了近50页,摸着还烫手的纸,hot of press,心理超级有成就感。。。。。虽然大部分模板代码都是抄来的(代码重用),自己就设计了几个专门针对问题的函数和测试程序,但怎么说也为这些问题掉了不少头发,夜不能寐,辗转反侧了几个晚上............ 看到bob的空间了,联个连接,发现上面的八卦信息不少,以后又有新地方去关心老同学的近况了~~~~~~~~ 上次说要装B,贴代码出来,貌似一个半桶水的技术空间................ 下面是一道道题目的代码,哪个人家的模版我就不贴了,大家只要看清大概接口,套到这个函数里去看就是了。更新次贴一个问题...........其实这都是超级简单的小函数,太难得老头子也不好意思拿出来为难向我这样的什么都不精通的composer了 题目:求解约瑟夫(Josephus)问题 1. 问题描述:有一个旅行社要从n个旅客中选出一名旅客,为他提供免费的环球旅行服务。旅行社安排这些旅客围成一个圆圈,并从帽子中取出一张纸条,用纸条上面写的正整数m(m<n)作为报数值。游戏进行时,从第一个人开始按顺时针方向自1开始顺序报数,当报到m时停止报数,报m的人被淘汰出列。然后从他顺时针方向上的下一个人开始从1重新报数,当报到m时停止报数,报m的人被淘汰出列。如此下去,直到圆圈中剩下一个人为止。这个最后的幸存者就是游戏的胜利者,他将得到免费旅行的奖励。请编写程序,让计算机模拟此问题。 #include <iostream.h> #include <stdlib.h> #include "LinList.h" //循环单链表 void main(void) { LinList<int> myList; int s[] = ...
1249 days ago
做了两天的数据结构课程设计(就是对一些特定问题写程序代码):解决问题的思想是明确的,语法错误是容易改正的,只是内在的逻辑错误到时让我想撞墙——编译完,程序运行时后内存不时地出错,系统不时地提示错误.....................怎一个郁闷了得 下午又修改了一个程序,只是多添加了个 “—>next” 终于测试成功。一步之遥阿! 大部分的程序到是主体都测试成功了,老头子要写份报告,代码还要修饰一番..................... 说实话自己写的丑是丑了点儿,也不容易让别人懂(不像标准程序似的那么规范),但是能用就行啦! 怎么说也要有点儿自己的风格。 过几天贴代码上来,装B..................hoho



