虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

s<b>How</b>s

  • 离散实验 一个包的传递 用warshall

     实验源代码 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("请输入矩阵第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可传递闭包关系矩阵是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元关系的可传递闭包\n"); void warshall(int,int); int k , n; printf("请输入矩阵的行数 i: "); scanf("%d",&k); 四川大学实验报告 printf("请输入矩阵的列数 j: "); scanf("%d",&n); warshall(k,n); } 

    标签: warshall 离散 实验

    上传时间: 2016-06-27

    上传用户:梁雪文以

  • 数据结构实验

    #include <iostream> #include <stdio.head> #include <stdlib.head> #include <string.head> #define ElemType int #define max 100 using namespace std; typedef struct node1 { ElemType data; struct node1 *next; }Node1,*LinkList;//链栈 typedef struct { ElemType *base; int top; }SqStack;//顺序栈 typedef struct node2 { ElemType data; struct node2 *next; }Node2,*LinkQueue; typedef struct node22 { LinkQueue front; LinkQueue rear; }*LinkList;//链队列 typedef struct { ElemType *base; int front,rear; }SqQueue;//顺序队列 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 //1.采用链式存储实现栈的初始化、入栈、出栈操作。 LinkList CreateStack()//创建栈 { LinkList top; top=NULL; return top; } bool StackEmpty(LinkList s)//判断栈是否为空,0代表空 { if(s==NULL) return 0; else return 1; } LinkList Pushead(LinkList s,int x)//入栈 { LinkList q,top=s; q=(LinkList)malloc(sizeof(Node1)); q->data=x; q->next=top; top=q; return top; } LinkList Pop(LinkList s,int &e)//出栈 { if(!StackEmpty(s)) { printf("栈为空。"); } else { e=s->data; LinkList p=s; s=s->next; free(p); } return s; } void DisplayStack(LinkList s)//遍历输出栈中元素 { if(!StackEmpty(s)) printf("栈为空。"); else { wheadile(s!=NULL) { cout<<s->data<<" "; s=s->next; } cout<<endl; } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 //2.采用顺序存储实现栈的初始化、入栈、出栈操作。 int StackEmpty(int t)//判断栈S是否为空 { SqStack.top=t; if (SqStack.top==0) return 0; else return 1; } int InitStack() { SqStack.top=0; return SqStack.top; } int pushead(int t,int e) { SqStack.top=t; SqStack.base[++SqStack.top]=e; return SqStack.top; } int pop(int t,int *e)//出栈 { SqStack.top=t; if(!StackEmpty(SqStack.top)) { printf("栈为空."); return SqStack.top; } *e=SqStack.base[s.top]; SqStack.top--; return SqStack.top; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 //3.采用链式存储实现队列的初始化、入队、出队操作。 LinkList InitQueue()//创建 { LinkList head; head->rear=(LinkQueue)malloc(sizeof(Node)); head->front=head->rear; head->front->next=NULL; return head; } void deleteEle(LinkList head,int &e)//出队 { LinkQueue p; p=head->front->next; e=p->data; head->front->next=p->next; if(head->rear==p) head->rear=head->front; free(p); } void EnQueue(LinkList head,int e)//入队 { LinkQueue p=(LinkQueue)malloc(sizeof(Node)); p->data=e; p->next=NULL; head->rear->next=p; head->rear=p; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 //4.采用顺序存储实现循环队列的初始化、入队、出队操作。 bool InitQueue(SqQueue &head)//创建队列 { head.data=(int *)malloc(sizeof(int)); head.front=head.rear=0; return 1; } bool EnQueue(SqQueue &head,int e)//入队 { if((head.rear+1)%MAXQSIZE==head.front) { printf("队列已满\n"); return 0; } head.data[head.rear]=e; head.rear=(head.rear+1)%MAXQSIZE; return 1; } int QueueLengthead(SqQueue &head)//返回队列长度 { return (head.rear-head.front+MAXQSIZE)%MAXQSIZE; } bool deleteEle(SqQueue &head,int &e)//出队 { if(head.front==head.rear) { cout<<"队列为空!"<<endl; return 0; } e=head.data[head.front]; head.front=(head.front+1)%MAXQSIZE; return 1; } int gethead(SqQueue head)//得到队列头元素 { return head.data[head.front]; } int QueueEmpty(SqQueue head)//判断队列是否为空 { if (head.front==head.rear) return 1; else return 0; } void travelQueue(SqQueue head)//遍历输出 { wheadile(head.front!=head.rear) { printf("%d ",head.data[head.front]); head.front=(head.front+1)%MAXQSIZE; } cout<<endl; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 //5.在主函数中设计一个简单的菜单,分别测试上述算法。 int main() { LinkList top=CreateStack(); int x; wheadile(scanf("%d",&x)!=-1) { top=Pushead(top,x); } int e; wheadile(StackEmpty(top)) { top=Pop(top,e); printf("%d ",e); }//以上是链栈的测试 int top=InitStack(); int x; wheadile(cin>>x) top=pushead(top,x); int e; wheadile(StackEmpty(top)) { top=pop(top,&e); printf("%d ",e); }//以上是顺序栈的测试 LinkList Q; Q=InitQueue(); int x; wheadile(scanf("%d",&x)!=-1) { EnQueue(Q,x); } int e; wheadile(Q) { deleteEle(Q,e); printf("%d ",e); }//以上是链队列的测试 SqQueue Q1; InitQueue(Q1); int x; wheadile(scanf("%d",&x)!=-1) { EnQueue(Q1,x); } int e; wheadile(QueueEmpty(Q1)) { deleteEle(Q1,e); printf("%d ",e); } return 0; }

    标签: 数据结构 实验

    上传时间: 2018-05-09

    上传用户:123456..

  • 道理特分解法

    #include "iostream" using namespace std; class Matrix { private: double** A; //矩阵A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //为向量b分配空间并初始化为0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //为向量A分配空间并初始化为0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析构中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"请输入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"请输入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"个:"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分别求得U,L的第一行与第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分别求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"计算U得:"<<endl; U.Disp(); cout<<"计算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; } 

    标签: 道理特分解法

    上传时间: 2018-05-20

    上传用户:Aa123456789

  • lagr.m

    function y=lagr(x0,y0,x) %x0,y0为节点 %x是插值点 n=length(x0); m=length(x); for i=1:m z=x(i); s=0.0; for k=1:n p=1.0; for j=1:n if j~=k p=p*(z-x0(j))/(x0(k)-x0(j)); end end s=p*y0(k)+s; end y(i)=s; end

    标签: lagr

    上传时间: 2020-06-09

    上传用户:shiyc2020

  • Atmospheric+Monitoring+With+Arduino

    There’s a story (it’s either an old vaudeville joke or a Zen koan) in which a fisherman asks a fish, “What’s the water like down there?” and the fish replies “What is water?” If the story is just a joke, the point is to make us laugh; but if it’s a koan, the point is that the most obvious and ubiquitous parts of our immediate environ- ment are, paradoxically, often the easiest to overlook.

    标签: Atmospheric Monitoring Arduino With

    上传时间: 2020-06-09

    上传用户:shancjb

  • 蚁群算法的基本原理和改进

    蚁群算法基本模型STEP1(外循环)若满足算法停止规则,停止计算,输出计算得到的最好解给定外循环的最大数目,表明有足够的蚂蚁工作当前最优解连续K次相同而停止,K是给定的整数,表示算法已收敛◆给定优化问题的下界和误差值,当算法得到的目标值同下界之差小于给定的误差值时,算法终止否则使蚂蚁s(1≤s≤m)从起点出发,用L(S)表示蚂蚁S行走的城市集合,初始L(s)为空集。设m只蚂蚁在图的相邻节点间移动,协作异步地得到解。蚂蚁计算出下一步所有可达节点的一步转移概率,并按此概率实现一步移动,依此往复。一步转移概率由图中每条边上的两类参数决定:信息素值、可见度(即先验值)。信息素的更新有2种方式:挥发——所有路径上信息素以一定比率减少增强——给评价值“好”(有蚂蚁走过)的边增加信息素蚁群算法基木模型令我们以求解平面上n个城市的TSP问题(1,2,…,n)表示城市号为例说明ACA的模型。n个城市的TSP问题就是寻找通过n个城市各次且最后回到出发点的最短路径蚁群算法研究现状令ACA是模拟自然界中真实蚁群的觅食行为而形成的一种模拟进化算法。10年多来的研究结果已经表明:ACA用于组合优化具有很强的发现较好解的能力,具有分布式计算易于与其他方法相结合、鲁棒性强等优点,在动态环境下也表现出高度的灵活性和健壮性。在求解TSP、QAP问题方面,与遗传算法、模拟退火算法等算法比较,ACA仍是最好的解决方法之一。

    标签: 蚂蚁算法

    上传时间: 2022-03-10

    上传用户:

  • 安森美车规级1080P图像传感器AR0231手册

    AR0231AT7C00XUEA0-DRBR(RGB滤光)安森美半导体推出采用突破性减少LED闪烁 (LFM)技术的新的230万像素CMOS图像传感器样品AR0231AT,为汽车先进驾驶辅助系统(ADAS)应用确立了一个新基准。新器件能捕获1080p高动态范围(HDR)视频,还具备支持汽车安全完整性等级B(ASIL B)的特性。LFM技术(专利申请中)消除交通信号灯和汽车LED照明的高频LED闪烁,令交通信号阅读算法能于所有光照条件下工作。AR0231AT具有1/2.7英寸(6.82 mm)光学格式和1928(水平) x 1208(垂直)有源像素阵列。它采用最新的3.0微米背照式(BSI)像素及安森美半导体的DR-Pix™技术,提供双转换增益以在所有光照条件下提升性能。它以线性、HDR或LFM模式捕获图像,并提供模式间的帧到帧情境切换。 AR0231AT提供达4重曝光的HDR,以出色的噪声性能捕获超过120dB的动态范围。AR0231AT能同步支持多个摄相机,以易于在汽车应用中实现多个传感器节点,和通过一个简单的双线串行接口实现用户可编程性。它还有多个数据接口,包括MIPI(移动产业处理器接口)、并行和HiSPi(高速串行像素接口)。其它关键特性还包括可选自动化或用户控制的黑电平控制,支持扩频时钟输入和提供多色滤波阵列选择。封装和现状:AR0231AT采用11 mm x 10 mm iBGA-121封装,现提供工程样品。工作温度范围为-40℃至105℃(环境温度),将完全通过AEC-Q100认证。

    标签: 图像传感器

    上传时间: 2022-06-27

    上传用户:XuVshu

  • VIP专区-嵌入式/单片机编程源码精选合集系列(145)

    VIP专区-嵌入式/单片机编程源码精选合集系列(145)资源包含以下内容:1. 里面有几十人MSP430F149系列C编程的源码资料,只要稍加修改就可以熟练地使用MSP430F系列单片机.2. 本书讲解了三菱系列PLC的详细知识.包括内部结构及及指令集.使初学者能快速使用三菱系列PLC..3. KGLWIN3.62是中文版的LG的PLC编程和调试软件..4. blackfin 533数模转换的源代码 很基础的 大家有兴趣的看下.5. 同步电机的很基础的代码 blackfin 533 motor.6. blackfin 533 的nandflash代码 很基础的.7. blackfin 533 的tft代码 很基础.8. 51EDAQT44B0X开发板说明书.9. 用em4094和STC12C5412合成二代证读写器.10. 重量级资料,条幅机原理图.11. LCD_12232 液晶显示程序源代码.12. 嵌入式MYSQL编程例子,在WINDOWS或者LINUX上都可以运行.13. 几个嵌入式MYSQL编程示例.14. 一个数字显示时钟的程序.15. IIC通用驱动程序.16. nios ii 开发板原理图.17. 嵌入式操作系统ucos ii在visual studio vc下运行.18. pspice的教程.19. 嵌入式freetype库的应用文档包含freetype的简要说明和应用example.20. 嵌入式linux中的usb热拔插脚本,可以实现u盘的热拔插功能.21. freetype库的应用demo,里面包含freetype的很多实例.22. 附上freetype2.1.10的源代码,这个和上面传的是一起的.23. dm9000a,u-boot里面的驱动源代码,可以参照移植到自己的u-boot里面.24. 单键遥控码学习控制器遥控数据读取 INT0中断程序 高电平存TMPHADDR为首址RAM 低电平存TMPLADDR为首址RAM.25. 宏晶科技用c语言实现的EEPROM完整底层驱动程序.26. X5045的底层驱动.27. 24c02的c语言源代码.28. I2C-bus Specification.29. Nucleus开发的需要用的<技术文档>.30. lpc2100_arm_keil实例,很好的实例.31. 多款FPGA CPLD开发板的原理图.32. 在数字电路的设计中.33. 制作范例:一个简单实用的PC遥控器2 需要的话请去下载.34. linux下 minigui用的 qvfb 1.1插件.35. C++编程指南是个人觉得不过入门的参考资料.36. 应用案例.37. 《常用运放电路集锦》美国国家半导体公司 资料 介绍了运放的典型应用.38. ARM Boot2410Init.s分析 ARM Boot2410Init.s分析.39. FS9200ARM9开发板的原理图.40. 国外高速设计经典书籍.

    标签: Local PCI Bus 2.1

    上传时间: 2013-04-15

    上传用户:eeworm

  • 功能强大的一个b/s工作站

    功能强大的一个b/s工作站

    标签: 工作站

    上传时间: 2014-11-26

    上传用户:hebmuljb

  • B/S权限控制的例子

    B/S权限控制的例子

    标签: 权限控制

    上传时间: 2014-01-11

    上传用户:yoleeson