无向图以邻接矩阵存储,请算法描述深度优先遍历该图的非递归算法 5C

无向图以邻接矩阵存储,请算法描述深度优先遍历该图的非递归算法。哪位大神可以帮忙写具体点用栈怎么实现?谢谢了!图片说明

3个回答

深度优先遍历算法的非递归实现需要了解深度优先遍历的执行过程,设计一个栈来模拟递归实现中系统设置的工作栈,算法的伪代码描述为:
图片说明

深度优先遍历算法的非递归实现需要了解深度优先遍历的执行过程,设计一个栈来模拟递归实现中系统设置的工作栈,算法的伪代码描述为:

  假设图采用邻接矩阵作为存储结构,具体算法如下:

#include  
#include   
using namespace std;  
#define  MAX_NODE 12  
bool visited[MAX_NODE] ;  
int stack[ MAX_NODE] ;  
queue q;  
int Matric[MAX_NODE][MAX_NODE] =  
{  
    {-1,1,1,0,0,0,0,0,0,0,0,0},  
    {1,-1,1,0,1,1,0,0,0,0,0,0},  
    {1,1,-1,1,0,0,0,0,0,0,0,0},  
    {0,0,1,-1,1,0,0,0,0,0,1,1},  
    {0,1,0,1,-1,0,0,0,0,0,0,0},  
    {0,1,0,0,0,-1,0,0,0,0,1,0},  
    {0,0,0,0,0,0,-1,1,1,1,0,0},  
    {0,0,0,0,0,0,1,-1,0,0,0,0},  
    {0,0,0,0,0,0,1,0,-1,1,1,0},  
    {0,0,0,0,0,0,1,0,1,-1,0,1},  
    {0,0,0,1,0,1,0,0,1,0,-1,0},  
    {0,0,0,1,0,0,0,0,0,1,0,-1},   
};  
void DFS( int v)  
{  
    cout   

  

伪代码说明
图片说明

s_listening
s_listening 这么类c的伪代码看不懂就没办法了[掩面]
2 年多之前 回复
xfjjs_net
xfjs江城子 可以帮我用语言描述出来吗?这样我看的懂些,谢谢啦
2 年多之前 回复
s_listening
s_listening 那个 n = & a.top() 有点问题, 看得懂就好了..
2 年多之前 回复

void DFS( int v)

{

cout << " v"<< v ;

int top = -1 ;

visited[v] = true ;

stack[++top] = v ;

while ( top != -1)

{

v = stack[top] ;

for (int i = 0 ; i < MAX_NODE ; i++)

{

if (Matric[v][i] == 1 &&!visited[i])

{

cout << " v" << i ;

visited[i] = true ;

stack[ ++top ] = i ;

break ;

}

}

if( i == MAX_NODE)

{

top -- ;

}

}

}

void BFS( int v)

{

int node = 0;

q.push(v);

visited[v] = true;

while( !q.empty())

{

node = q.front();

for ( int i = 0; i < MAX_NODE; i++ )

{

if ( Matric[node][i] == 1 && !visited[i])

{

visited[i] = true;

q.push(i);

}

}

cout <<" v" << node;

q.pop();

}

}

void Init()

{

int i = 0;  
for ( i = 0; i < MAX_NODE; i++)  
{  
    visited[i] = false;  
}  

}

int main()

{

Init();

DFS( 1 ) ;

cout << endl ;

Init();

BFS( 1 );

cout << endl;

Init();

DFS( 6 );

cout < return 0 ;
}

  


      
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c语言,建立无向图进行广度优先遍历产生问题

c语言,建立无向图进行广度优先遍历但是不论从哪个头开始,都只输出起始结点A的邻接结点,查了好久没发现错误,请大神帮忙 ```![图片说明](https://img-ask.csdn.net/upload/201906/30/1561863698_680440.png) #include<stdio.h> #include<malloc.h> #include<stdlib.h> #define x 10 typedef struct Head{//构建结点 struct Head *next; int num;//头结点编号,如A-0,B-1,...... int weight;//边权重 }Head; typedef struct Node{//构建头 struct Head *head; char name;//name代表头结点的名字 }good,Adj[x]; typedef struct{//构建单链表 Adj Adjlist; int m,n;//m边个数为17,n结点个数为10 }undigraph; Head* Creat(){//创建一个结点 Head *node = (Head *)malloc(sizeof(Head));//为结 点分配空间 return node; } int readfile(char *file_name_path)//读取文件数据,file_name_path为文件路径。 { //这里因为无向图不是特别复杂,我打算用列表读入数据 char b[100]; FILE *fp; fp = fopen(file_name_path,"r"); fscanf(fp,"%[^\n]", b);//利用正则表达式以换行符为结尾读取数据 printf("内容为:\n%s\n",b); fclose(fp); } void creatUndigraph(undigraph *L){//创建无向图 int n = 10;//结点个数为10 int m = 17;//边个数为17 // 也可利用scanf进行人机交互 ,则下方n和m都要替换为L->n和L->m // printf("输入结点个数“); // scanf("%d",&L->n); // printf("输入边个数“); // scanf("%d",&L->m); //建立头表 char head_name[] = "ABCDEFGHIJ";//头结点名称 char edges_relationship[]= "0102060512192627233435363845567889";//为两个相邻结点的下标集合,2个为一组代表一对有邻接关系的结点 int weight[] = {2,5,1,3,2,5,3,3,4,2,3,5,6,3,1,4,7};//为与边相对应的权重 //printf("输入头结点名字:\n"); for(int i = 0;i<n;i++) { L->Adjlist[i].name = head_name[i]; //scanf(" %c",&L->Adjlist[i].name);//(若采用人机交互)%c前要加一个空格,来输入n个字符,否则只能输入n/2个字符 L->Adjlist[i].head = NULL; } //建立边关系 for(int j = 1;j<1+m;j++) { //printf("输入两个邻接结点的2个下标:\n"); Head *node_head; Head *node_end; node_head = Creat(); node_end = Creat();//创建头尾结点 node_head->num = int(edges_relationship[2*j-2]-48); node_end->num = int(edges_relationship[2*j-1]-48);//输入两个邻接结点的2个下标 node_end->weight = weight[j-1]; node_head->weight = weight[j-1];//输入边权重 //scanf("%d",&node_head->num);//若采用人机交互)输入开始结点编号 //scanf("%d",&node_end->num);//若采用人机交互)输入结尾结点编号 node_head->next = L->Adjlist[node_end->num].head; L->Adjlist[node_end->num].head = node_head; node_end->next = L->Adjlist[node_head->num].head; L->Adjlist[node_head->num].head = node_end; } //打印 printf("邻接表为:\n"); for(int y = 0;y<n;y++){ Head *p; p=Creat(); p = L->Adjlist[y].head; while(p){ printf("(%c,%c),weight:%d\n",L->Adjlist[y].name,L->Adjlist[p->num].name,p->weight); p=p->next; } } } typedef struct{//定义环形列表 int data[x]; //存放列表中元素 int front,rear; //定义头尾指针 }circle; void Initial(circle *&d){//初始化,d为指针 d = (circle *)malloc(sizeof(circle)) ; d->front = d->rear = 0; } bool enter(circle *&d,int z){//加入队列,不二判断正确与否,正确则返回true,错误返回false if((d->rear+1)%x==d->front) return false; d->rear = (d->rear+1)%x; d->data[d->rear] = z; return true; } bool out(circle *&d,int z){//出队列,不二判断正确与否,正确则返回true,错误返回false if(d->front==d->rear) return false; d->front = (d->front+1)%x; z = d->data[d->front]; return true; } bool empty(circle *d){//判断是否为空列表 return(d->front==d->rear); } void wide(undigraph *L,int t){//创建广度优先遍历 ,Z为出发点编号 int r; int j; Head *p; circle *bi; //环形队列 Initial(bi); //初始化 int c[x]; //定义访问放入此数组中 for(r = 0;r<10/*即L->n,我并未进行人机交互,所以此处为结点个数n=10*/;r++) c[r] = 0; printf("%c",L->Adjlist[t].name); c[t] = 1; //已访问赋值为1 enter(bi,t); while(!empty(bi))//判断是否为空列表 {//printf("第\n"); out(bi,j); //j顶点出队 p = L->Adjlist[j].head; while(p!=NULL) {//printf("p的num:%d\n",p->num); if(c[p->num]==0) { printf(" %c",L->Adjlist[p->num].name); c[p->num] = 1; enter(bi,p->num);//加入队列 //printf("杀p的num:%d\n",p->num); } p = p->next; } } printf("\n"); } int a[x] = {0}; //定义全局数组 void depth(undigraph *L,int z){ //创建深度优先遍历,z为出发点编号 Head *p; a[z] = 1; //已遍历结点赋值为1 printf(" %c",L->Adjlist[z].name); p = L->Adjlist[z].head; while(p!=NULL) { if(a[p->num]==0) depth(L,p->num); //递归访问顶点的下一点 p = p->next; } } int main() { undigraph L; creatUndigraph(&L); printf("\n广度优先遍历为:"); wide(&L,);//从下标为0(A)的结点开始广度优先遍历 printf("\n深度优先遍历为:"); depth(&L,0);//从下标为0(A)的结点开始遍深度优先历 return 0; } ``` 在wide(&L,数字),替换数字,改变开始遍历的结点,结果都是这个结点+邻接的4个结点+F G B C,请问怎么搞(无向图图片(https://img-ask.csdn.net/upload/201906/30/1561863882_448148.png) ![图片说明](https://img-ask.csdn.net/upload/201906/30/1561863882_448148.png) 这是出问题的运行结果![图片说明](https://img-ask.csdn.net/upload/201906/30/1561872516_966750.png)https://img-ask.csdn.net/upload/201906/30/1561872516_966750.png

C#语言中如何用邻接矩阵法表示图,并且遍历图?数据结构中图的遍历用C#的实现?

C#语言中如何用邻接矩阵法表示图,并且遍历图?数据结构中图的遍历用C#的实现?

图的广度优先遍历问题求教

该程序运用邻接矩阵创建图,运行后没有出现图的广度优先遍历的结果的打印。。。请大神帮忙看看我写的广度优先遍历算法哪里出现了问题,万分感激! #include "stdafx.h" #include <iostream.h> #include <conio.h> #include <stdio.h> #include <queue> using namespace std; void EnQueue_Sq( queue<int> &Q , int v ) { Q.push( v ); } int DeQueue_SQ( queue<int> &Q ) { int i = Q.front(); Q.pop(); return i; } //1、邻接矩阵 #define VexType char #define EdgeType int #define INFINITY INT_MAX // 最大值∞ #define Max_Vertex_Num 10 // 最大顶点个数 bool visited[ Max_Vertex_Num ];//辅助数组--遍历使用 struct MGraph{ VexType vexs[ Max_Vertex_Num ]; //顶点数组 EdgeType edges[ Max_Vertex_Num ][ Max_Vertex_Num ];//邻接矩阵 int vexnum; //当前顶点数 int edgenum; //当前边数 //GraphKind kind;//图的种类标志,本练习假定图为无向带权图(即 无向网) }; void DSF_MG( const MGraph &G , int v ); void BFS_MG( const MGraph &G , int v ); /////////////////////////////算法实现///////////////////////////////////// //一、邻接矩阵操作的实现 //1、 创建图 void CreateGraph_MG( MGraph &G )//构造一个具有n个顶点,e条边的无向网(注意:输入必须准确,算法中没有判断非法输入!) { cout<<"请分别输入顶点数目和边的数目:"; cin>>G.vexnum>>G.edgenum; int n = G.vexnum; int e = G.edgenum; int i , j; for (i = 0 ; i < n ; i ++ ) { cout<<"请输入第"<<i<<"个顶点的信息:"; cin>>G.vexs[ i ]; } //初始化邻接矩阵 for ( i = 0 ; i < n ; i ++ ) for ( j = 0 ; j < n ; j ++ ) { G.edges[i][j] = INFINITY; } for ( i = 0 ; i < e ; i ++ ) { int beginNode , endNode; cout<<"请输入第"<<i<<"条边的第一个顶点的编号(从0开始):"; cin>>beginNode; cout<<"请输入第"<<i<<"条边的第二个顶点的编号(从0开始):"; cin>>endNode; cout<<"请输入第"<<i<<"条边的权值(注意为非0值):"; cin>>G.edges[beginNode][endNode]; G.edges[endNode][beginNode] = G.edges[beginNode][endNode]; } //输出图的信息 cout<<"输入完毕!"<<endl; cout<<"顶点数组:["; for (i = 0 ; i < n ; i ++ ) { cout<<G.vexs[ i ]<<" "; } cout<<"]"<<endl; cout<<"邻接矩阵:"<<endl; for ( i = 0 ; i < n ; i ++ ) { for ( j = 0 ; j < n ; j ++ ) { if( G.edges[ i ][ j ] != INFINITY ) printf( "%5d" , G.edges[i][j] ); else printf( "%5c" , '-'); //cout<<G.edges[i][j]<<" "; } //cout<<endl; printf( "\n" ); } } //2、求邻接结点及其度 void Dsp_ArjNodes_MG( const MGraph &G , int v )//输出第v个顶点的所有邻接点信息以及该结点的度(注意i不在取值范围内应提示错误信息) { if(v>=G.vexnum) cout<<"ERROR"<<endl; int count = 0; for(int i=0;i<G.vexnum;i++) { if(G.edges[v-1][i]!=INFINITY){ cout<<"临界结点有"<<i<<endl; count++; } } cout<<"该点的度为"<<count<<endl; } //3、找邻接点 int FirstAdjVex( const MGraph &G , int v )//找到顶点v(v为顶点的index)的第一个邻接点并返回该邻接点的index,如果不存在邻接点,则返回-1 { int j,p=-1,found=1; for(j=0;((j<G.vexnum)&&(found==1));j++) if(G.edges[v][j]!=INFINITY) { p=j; found=0; } return p; } //4、找下一个邻接点 int NextAdjVex( const MGraph &G , int v , int w )//v是G的某个顶点,w是v的一个邻接点,返回v(相对于w)的下一个邻接点(邻接点的index),如果w已经是最后一个邻接点,则返回-1 { int j,p=-1,found=1; for(j=w+1;((j<G.vexnum)&&(found==1));j++) if(G.edges[v][j]!=INFINITY) { p=j; found=0; } return p; } //5、广度优先遍历(主调)--例子 void BFSTraverse_MG( const MGraph &G )//广度优先遍历图 { int v; for (v=0; v<G.vexnum; ++v) visited[v] = false; //初始化访问标志 //开始遍历过程: for ( v=0; v<G.vexnum; ++v ) if ( !visited[v]) BFS_MG( G , v ); } //6、以v为起点广度优先遍历(核心函数) void BFS_MG( const MGraph &G , int v )//以v为起点进行广度优先遍历 { queue<int> Q;//定义完队列Q(不需要执行InitQueue_SQ) EnQueue_Sq(Q, v); // v入队列 visited[v] = true; cout<<G.vexs[v]<<" "; while(!Q.empty ()) { int s = DeQueue_SQ( Q );// 队头元素出队 for(int w=FirstAdjVex(G,s);w!=INFINITY;w=NextAdjVex(G,s,w)) if ( !visited[w] ) { visited[w]=true; cout<<G.vexs[w]<<" "; EnQueue_Sq(Q, w); // 访问的顶点w入队列 } // if }//while } void main() { MGraph MG; CreateGraph_MG( MG ); // 打印顶点a的所有邻接点 Dsp_ArjNodes_MG( MG ,3); cout<<"输出广度优先遍历结果:"<<endl; BFSTraverse_MG( MG ); getch(); }

有向图的广度优先遍历问题

这最后一题怎么做啊?从顶点2出发难道不是只能搜索3和4吗?其他顶点难道不是搜索不到吗?![图片说明](https://img-ask.csdn.net/upload/201607/04/1467597349_107589.png)

给一个图G的邻接矩阵,请你判断是否连通。用语言表示出来?

给一个图G的邻接矩阵,请你判断是否连通。用语言表示。请问用深度优先遍历的话怎么描述出来呢?麻烦大佬了谢谢

数据结构图方面的内容

1、编写一个函数让用户输入这张图,用邻接表存储。 2、编写函数实现图的顶点表和邻接表的存盘和读盘。 3、编程实现顺序栈,编写栈的初始化、入栈、出栈和销毁栈的函数。 4、不使用递归算法,利用这个栈对图1实现深度优先搜索遍历。 要求: 1、新建一个项目, 2、图和栈分别写在两个源程序文件中, 3、提供一个头文件,图和栈的存储表示均在这个头文件中, 4、另外用一个主文件调用其中的函数,实现上述功能, 任务完成后,提交全部程序源代码

分布式深度优先生成树

刚学习分布式计算,谁能给我讲一下,在分布式中,深度优先生成树怎么生成的(比如有什么通信规则),最简单的就好,谢谢了。

用Floyd算法求从某地到某地的最短路径(无向图)

#include <stdio.h> #include <iostream> using namespace std ; #define MUNum 20 #define INFINITY 32767 #define Myprintf cout << "\n\t+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-\n" << endl typedef struct PlaneGraph { int PathLength ; char Pathname[20] ; }PlaneGraph,PG[MUNum][MUNum] ; typedef struct { char name[20] ; int num ; }infor ; typedef struct { infor vexs[MUNum] ; PG arcs ; int vexnum ,arcnum ; }AMGraph ; void InitGraph(AMGraph &G) { int i ,j ; cout << "\t请输入校园地点的数量、校园小径的个数:" ; cin >> G.vexnum >> G.arcnum ;//点 边 Myprintf ; for(i=0 ;i<G.vexnum ;i++) G.vexs[i].num = i ;//为点进行编号 cout << " 输入编号为(0-" << i << ")的校园地点的名称:\n\n" ;//店名称 for(i=0 ;i<G.vexnum ;i++) { cout << "\t" ; cin >> G.vexs[i].name ; } cout << endl ; Myprintf ; for(i=0 ;i<G.vexnum ;i++) for(j=0 ;j<G.vexnum ;j++) { G.arcs[i][j].PathLength = INFINITY ; strcpy(G.arcs[i][j].Pathname,"null"); } //输入路径信息 int v1,v2,w ; char wn[20] ; cout << "输入校园小径首尾地点编号、小径长度及小径名称\n\t(以-1 -1 -1 -1)结束输入:\n\t" << endl ; cin >> v1 >> v2 >> w >> wn ; while(v1!=-1 && v2!=-1 && w!=-1 && strcmp(wn,"-1")!=0) { cout << "\t" ; G.arcs[v1][v2].PathLength = w ; strcpy(G.arcs[v1][v2].Pathname,wn); G.arcs[v2][v1].PathLength = w ; strcpy(G.arcs[v2][v1].Pathname,wn); cin >> v1 >> v2 >> w >> wn ; } Myprintf ; } //Floyd void ShortestPath(AMGraph G) { int v,u,i,j,w,k,flag=1; int p[MUNum][MUNum][MUNum],D[MUNum][MUNum]; for(v=0 ; v<G.vexnum ; v++) for(w=0 ;w<G.vexnum ;w++) { D[v][w] = G.arcs[v][w].PathLength; for(u=0;u<G.vexnum ;u++) p[v][w][u] = 0 ;// if(D[v][w] < INFINITY) p[v][w][v] = p[v][w][w] = 1;// } for(u=0 ;u<G.vexnum;u++) for(v=0 ;v<G.vexnum;v++) for(w=0 ;w<G.vexnum;w++) if(D[v][u]+D[u][w]<D[v][w]) { D[v][w] = D[v][u]+D[u][w]; for(i=0;i<G.vexnum;i++) p[v][w][i] = p[v][u][i] || p[u][w][i];// } while(flag) { cout << "\n输入出发地点、目的地点编号:" ; cin >> k >> j ; if(k<0 || k>=G.vexnum || j<0 || j>=G.vexnum ) { cout << "该地点不存在!请重新输入!" << endl ; Myprintf ; } else if(k == j ) { cout << "始点和终点相同!请重新输入!" << endl ; Myprintf ; } else flag = 0 ; } //输出信息 int L[MUNum]; L[0] = k; int l = 1 ; cout << "\t总路线长:" << D[k][j] << endl ; cout << G.vexs[k].name ; for(u=0 ;u<G.vexnum ;u++) if(p[k][j][u] && k!=u && j!=u) { cout << " ——> " << G.vexs[u].name ; L[l] = u ; l++ ; } cout << " ——> " << G.vexs[j].name ; L[l] = j ; cout << endl ; cout << "\t路线:" ; for(u=0 ;u<l ;u++) { cout << G.arcs[L[u]] [L[u+1]].Pathname ; if(u != l-1) cout << " ——> " ; } cout << endl ; Myprintf ; } int main() { cout << "\n----------------------------------校园导航----------------------------------" << endl << endl ; AMGraph G ; InitGraph(G) ; char k[10] ; strcpy(k,"Yes"); while(strcmp(k,"Yes")==0) { ShortestPath(G); cout << "请问是否继续?Yes or No?" << endl ; cin >> k ; if(strcmp(k,"Yes") != 0 ) cout << "\n----------------------------------停止查询----------------------------------" << endl ; } return 0 ; } 数据: 10 10 大学生活动中心 敬文图书馆 实验楼 行知楼 防空洞 宿舍楼 办公楼 外国语学院 美术学院 体育馆 0 1 10 逸夫路 1 3 15 敬文路 4 3 70 达夫路 1 2 20 朝阳路 3 7 77 富康路 4 5 12 人民路 5 6 19 孚玉路 6 7 56 龙门路 8 9 73 纬七路 8 7 8 九江路 -1 -1 -1 -1 在路线输入:1 9 和 9 1的时候路线不一样,请问怎么解决

关于数据结构的邻接表的创建

在创建完表头之后,怎么把该顶点链接的顶点插到表后面?代表有些看不懂,求助。万分感谢。

图的最短路径算法的实现

设计内容: 设计校园平面图,所含景点不少于8个。以图中顶点表示学校内各景点,存放景点的名称、景点介绍信息等;以边表示路径,存放路径长度信息。要求将这些信息保存在文件graph.txt中,系统执行时所处理的数据要对此文件分别进行读写操作。 1.从文件graph.txt中读取相应数据, 创建一个图,使用邻接矩阵表示图 ; 2.景点信息查询:为来访客人提供校园任意景点相关信息的介绍; 3.问路查询:为来访客人提供校园任意两个景点之间的一条最短路径 。 选做内容(对文件进行操作,相应信息变化后,再次进行景点信息查询和问路查询时应该有所体现) 1. 修改一个已有景点的相关信息; 2. 增加一个新景点及其相关信息; 3. 增加一条新的路径; 4. 删除一个景点及其相关信息; 5. 删除一条路径。 设计提示: 1. 校园道路是双向通行的,可设校园平面图是一个带权的无向图,用邻接矩阵表示此无向网。 typedef struct{ char name[100]; char info[10000]; }VertexType; //顶点结构 typedef struct{ VertexType vexs[10]; int arcs[100][100];//邻接矩阵 int vexnum,arcnum;//顶点个数,边的个数 }MGraph; //图结构 2. 将图的顶点信息和边的信息用数据文件graph.txt存储,数据文件格式可以设置如下形式: 图中顶点数 边的数目 景点名称 景点信息 始点 终点 路径长度 如可以在文件graph.txt中存储以下数据: 8 15 女生宿舍 有南北两栋,6层 南门 经青春大道通往学校北门 …… 正门 主楼 80 正门 图书馆 400 …… 程序运行的参考结果下图(仅供参考): 设计要求: (1) 程序要具在一定的健壮性,即当输入数据非法时,程序也能适当地做出反应。 (2) 程序要添加适当的注释,程序的书写要采用缩进格式。 (3) 根据实验报告模板详细书写实验报告,在实验报告中给出校园平面图。 (4) 校园平面图中的校园景点信息保存在文件graph.txt中。

怎样去判断一个有向图中是否存在一条经过所有点的简单路径

怎样去判断一个有向图中是否存在一条经过所有点的简单路径?能否把这个问题转化成哈密顿回路问题?

求DAG中每个节点的可达节点数量

DAG(有向无环图),求每个节点可以走到多少个节点,要时间复杂度O(V^2)以下的程序,空间复杂度尽量小。 本人知道DFS,BFS,堆栈图等概念,请跳过相关介绍直接说干货。 对每个节点挨个深搜可以解决问题(复杂度O(V^2))但我希望更优的算法,也请跳过陈述类似算法。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

软件测试入门、SQL、性能测试、测试管理工具

软件测试2小时入门,让您快速了解软件测试基本知识,有系统的了解; SQL一小时,让您快速理解和掌握SQL基本语法 jmeter性能测试 ,让您快速了解主流来源性能测试工具jmeter 测试管理工具-禅道,让您快速学会禅道的使用,学会测试项目、用例、缺陷的管理、

基于西门子S7—1200的单部六层电梯设计程序,1部6层电梯

基于西门子S7—1200的单部六层电梯设计程序,1部6层电梯。 本系统控制六层电梯, 采用集选控制方式。 为了完成设定的控制任务, 主要根据电梯输入/输出点数确定PLC 的机型。 根据电梯控制的要求,

捷联惯导仿真matlab

捷联惯导的仿真(包括轨迹仿真,惯性器件模拟输出,捷联解算),标了详细的注释捷联惯导的仿真(包括轨迹仿真,惯性器件模拟输出,捷联解算),标了详细的注释

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

图书管理系统(Java + Mysql)我的第一个完全自己做的实训项目

图书管理系统 Java + MySQL 完整实训代码,MVC三层架构组织,包含所有用到的图片资源以及数据库文件,大三上学期实训,注释很详细,按照阿里巴巴Java编程规范编写

玩转Linux:常用命令实例指南

人工智能、物联网、大数据时代,Linux正有着一统天下的趋势,几乎每个程序员岗位,都要求掌握Linux。本课程零基础也能轻松入门。 本课程以简洁易懂的语言手把手教你系统掌握日常所需的Linux知识,每个知识点都会配合案例实战让你融汇贯通。课程通俗易懂,简洁流畅,适合0基础以及对Linux掌握不熟练的人学习; 【限时福利】 1)购课后按提示添加小助手,进答疑群,还可获得价值300元的编程大礼包! 2)本月购买此套餐加入老师答疑交流群,可参加老师的免费分享活动,学习最新技术项目经验。 --------------------------------------------------------------- 29元=掌握Linux必修知识+社群答疑+讲师社群分享会+700元编程礼包。 &nbsp;

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

本课程适合CCNA或HCNA网络小白同志,高手请绕道,可以直接学习进价课程。通过本预科课程的学习,为学习网络工程师、思科CCNA、华为HCNA这些认证打下坚实的基础! 重要!思科认证2020年2月24日起,已启用新版认证和考试,包括题库都会更新,由于疫情原因,请关注官网和本地考点信息。题库网络上很容易下载到。

C++语言基础视频教程

C++语言基础视频培训课程:本课与主讲者在大学开出的程序设计课程直接对接,准确把握知识点,注重教学视频与实践体系的结合,帮助初学者有效学习。本教程详细介绍C++语言中的封装、数据隐藏、继承、多态的实现等入门知识;主要包括类的声明、对象定义、构造函数和析构函数、运算符重载、继承和派生、多态性实现等。 课程需要有C语言程序设计的基础(可以利用本人开出的《C语言与程序设计》系列课学习)。学习者能够通过实践的方式,学会利用C++语言解决问题,具备进一步学习利用C++开发应用程序的基础。

微信小程序 实例汇总 完整项目源代码

微信小程序 实例汇总 完整项目源代码

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

2020-五一数学建模大赛C类问题饲料加工配比及优化.pdf

2020年,“51”数学建模C类问题,关于饲料配比问题以及加工优化方案。论文采用统计分析,建立了关于饲料加工的多目标优化模型。并利用蒙特卡罗算法对目标函数进行优化,解决了饲料加工质量最优配比问题并进行

MySQL数据库从入门到实战应用

限时福利1:购课进答疑群专享柳峰(刘运强)老师答疑服务 限时福利2:购课后添加学习助手(微信号:csdn590),按消息提示即可领取编程大礼包! 为什么说每一个程序员都应该学习MySQL? 根据《2019-2020年中国开发者调查报告》显示,超83%的开发者都在使用MySQL数据库。 使用量大同时,掌握MySQL早已是运维、DBA的必备技能,甚至部分IT开发岗位也要求对数据库使用和原理有深入的了解和掌握。 学习编程,你可能会犹豫选择 C++ 还是 Java;入门数据科学,你可能会纠结于选择 Python 还是 R;但无论如何, MySQL 都是 IT 从业人员不可或缺的技能! 【课程设计】 在本课程中,刘运强老师会结合自己十多年来对MySQL的心得体会,通过课程给你分享一条高效的MySQL入门捷径,让学员少走弯路,彻底搞懂MySQL。 本课程包含3大模块:&nbsp; 一、基础篇: 主要以最新的MySQL8.0安装为例帮助学员解决安装与配置MySQL的问题,并对MySQL8.0的新特性做一定介绍,为后续的课程展开做好环境部署。 二、SQL语言篇: 本篇主要讲解SQL语言的四大部分数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL,学会熟练对库表进行增删改查等必备技能。 三、MySQL进阶篇: 本篇可以帮助学员更加高效的管理线上的MySQL数据库;具备MySQL的日常运维能力,语句调优、备份恢复等思路。 &nbsp;

navicat简体中文版 绿色版 (64位)

解压后安装navicat,打开navicat执行PatchNavicat即破解成功。可以正常使用啦。

linux“开发工具三剑客”速成攻略

工欲善其事,必先利其器。Vim+Git+Makefile是Linux环境下嵌入式开发常用的工具。本专题主要面向初次接触Linux的新手,熟练掌握工作中常用的工具,在以后的学习和工作中提高效率。

机器学习初学者必会的案例精讲

通过六个实际的编码项目,带领同学入门人工智能。这些项目涉及机器学习(回归,分类,聚类),深度学习(神经网络),底层数学算法,Weka数据挖掘,利用Git开源项目实战等。

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

java jdk 8 帮助文档 中文 文档 chm 谷歌翻译

JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 JDK1.8 API 中文 谷歌翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用谷

Qt5.10 GUI完全参考手册(强烈推荐)

本书是Qt中文版的参考手册,内容详尽易懂,详细介绍了Qt实现的各种内部原理,是一本不可多得的参考文献

Python可以这样学(第四季:数据分析与科学计算可视化)

董付国老师系列教材《Python程序设计(第2版)》(ISBN:9787302436515)、《Python可以这样学》(ISBN:9787302456469)配套视频,在教材基础上又增加了大量内容,通过实例讲解numpy、scipy、pandas、statistics、matplotlib等标准库和扩展库用法。

设计模式(JAVA语言实现)--20种设计模式附带源码

课程亮点: 课程培训详细的笔记以及实例代码,让学员开始掌握设计模式知识点 课程内容: 工厂模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、原型模型、代理模式、单例模式、适配器模式 策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式 课程特色: 笔记设计模式,用笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 笔记以超链接形式让知识点关联起来,形式知识体系 采用先概念后实例再应用方式,知识点深入浅出 提供授课内容笔记作为课后复习以及工作备查工具 部分图表(电脑PC端查看):

进程监控软件 Performance Monitor中文版

告诉你每个程序现在在做什么,还可以根据你的要求过滤无关的内容。

八数码的深度优先算法c++实现

人工智能的八数码的深度优先算法c++实现

2021考研数学张宇基础30讲.pdf

张宇:博士,全国著名考研数学辅导专家,教育部“国家精品课程建设骨干教师”,全国畅销书《张宇高等数学18讲》《张宇线性代数9讲》《张宇概率论与数理统计9讲》《张宇考研数学题源探析经典1000题》《张宇考

2019 Python开发者日-培训

本次活动将秉承“只讲技术,拒绝空谈”的理念,邀请十余位身处一线的Python技术专家,重点围绕Web开发、自动化运维、数据分析、人工智能等技术模块,分享真实生产环境中使用Python应对IT挑战的真知灼见。此外,针对不同层次的开发者,大会还安排了深度培训实操环节,为开发者们带来更多深度实战的机会。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

2020_五一数学建模_C题_整理后的数据.zip

该数据是我的程序读取的数据,仅供参考,问题的解决方案:https://blog.csdn.net/qq_41228463/article/details/105993051

机器学习实战系列套餐(必备基础+经典算法+案例实战)

机器学习实战系列套餐以实战为出发点,帮助同学们快速掌握机器学习领域必备经典算法原理并结合Python工具包进行实战应用。建议学习顺序:1.Python必备工具包:掌握实战工具 2.机器学习算法与实战应用:数学原理与应用方法都是必备技能 3.数据挖掘实战:通过真实数据集进行项目实战。按照下列课程顺序学习即可! 课程风格通俗易懂,用最接地气的方式带领大家轻松进军机器学习!提供所有课程代码,PPT与实战数据,有任何问题欢迎随时与我讨论。

实用主义学Python(小白也容易上手的Python实用案例)

原价169,限时立减100元! 系统掌握Python核心语法16点,轻松应对工作中80%以上的Python使用场景! 69元=72讲+源码+社群答疑+讲师社群分享会&nbsp; 【哪些人适合学习这门课程?】 1)大学生,平时只学习了Python理论,并未接触Python实战问题; 2)对Python实用技能掌握薄弱的人,自动化、爬虫、数据分析能让你快速提高工作效率; 3)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; 4)想修炼更好的编程内功,优秀的工程师肯定不能只会一门语言,Python语言功能强大、使用高效、简单易学。 【超实用技能】 从零开始 自动生成工作周报 职场升级 豆瓣电影数据爬取 实用案例 奥运冠军数据分析 自动化办公:通过Python自动化分析Excel数据并自动操作Word文档,最终获得一份基于Excel表格的数据分析报告。 豆瓣电影爬虫:通过Python自动爬取豆瓣电影信息并将电影图片保存到本地。 奥运会数据分析实战 简介:通过Python分析120年间奥运会的数据,从不同角度入手分析,从而得出一些有趣的结论。 【超人气老师】 二两 中国人工智能协会高级会员 生成对抗神经网络研究者 《深入浅出生成对抗网络:原理剖析与TensorFlow实现》一书作者 阿里云大学云学院导师 前大型游戏公司后端工程师 【超丰富实用案例】 0)图片背景去除案例 1)自动生成工作周报案例 2)豆瓣电影数据爬取案例 3)奥运会数据分析案例 4)自动处理邮件案例 5)github信息爬取/更新提醒案例 6)B站百大UP信息爬取与分析案例 7)构建自己的论文网站案例

Python数据清洗实战入门

本次课程主要以真实的电商数据为基础,通过Python详细的介绍了数据分析中的数据清洗阶段各种技巧和方法。

2020美赛数学建模C题参考思路及可用代码.7z

2020美赛数学建模C题参考思路及可用代码2020美赛数学建模C题参考思路及可用代码2020美赛数学建模C题参考思路及可用代码2020美赛数学建模C题参考思路及可用代码2020美赛数学建模C题参考思路

程序员的算法通关课:知己知彼(第一季)

【超实用课程内容】 程序员对于算法一直又爱又恨!特别是在求职面试时,算法类问题绝对是不可逃避的提问点!本门课程作为算法面试系列的第一季,会从“知己知彼”的角度,聊聊关于算法面试的那些事~ 【哪些人适合学习这门课程?】 求职中的开发者,对于面试算法阶段缺少经验 想了解实际工作中算法相关知识 在职程序员,算法基础薄弱,急需充电 【超人气讲师】 孙秀洋&nbsp;| 服务器端工程师 硕士毕业于哈工大计算机科学与技术专业,ACM亚洲区赛铜奖获得者,先后在腾讯和百度从事一线技术研发,对算法和后端技术有深刻见解。 【课程如何观看?】 PC端:https://edu.csdn.net/course/detail/27272 移动端:CSDN 学院APP(注意不是CSDN APP哦) 本课程为录播课,课程无限观看时长,但是大家可以抓紧时间学习后一起讨论哦~

4小时玩转微信小程序——基础入门与微信支付实战

这是一个门针对零基础学员学习微信小程序开发的视频教学课程。课程采用腾讯官方文档作为教程的唯一技术资料来源。杜绝网络上质量良莠不齐的资料给学员学习带来的障碍。 视频课程按照开发工具的下载、安装、使用、程序结构、视图层、逻辑层、微信小程序等几个部分组织课程,详细讲解整个小程序的开发过程

java大作业图书馆管理系统(java与gui界面)附源码,sqlserver数据库,报告

java大作业,附源码,sqlserver数据库,报告一条龙服务,包你满意 下载链接:点我下载 登入模块功能实现 管理员模块功能介绍 1.查询图书 2.借阅图书 3.归还图书 4.删除图书 5.添加图书 6.删除用户 7.查询用户 用户模块功能介绍 1.查询图书 2.借阅图书 3.归还图书 4.注册 数据库表的设计 1.admin表 2.reader表 3.book表 4.book_information表 部分代码展示 /* * 登录事件处理 */ private int ad

利用 Python 爬取了 13966 条运维招聘信息,我得出了哪些结论?

作者:JackTian、黄伟呢 公众号:杰哥的IT之旅,后台回复:「运维」可获取本文完整数据 大家好,我是 JackTian。 我经常会收到读者关于一系列咨询运维方面的事情,比如:杰哥,运维到底是做什么的呀?运维的薪资水平/ 待遇怎么样呢?杰哥帮忙看下这个岗位的招聘需要对于小白来说,能否胜任的了呢?等等。 这里,我把之前写的《一篇文章带你解读从初级运维工程师到资深运维专家的学习路线》,本文从初级 / 中级 / 高级运维工程师以及到资深方向逐步展开给大家汇总了一些各阶段所具备的技能,仅供学习路线参考,如有.

相关热词 c#设计思想 c#正则表达式 转换 c#form复制 c#写web c# 柱形图 c# wcf 服务库 c#应用程序管理器 c#数组如何赋值给数组 c#序列化应用目的博客园 c# 设置当前标注样式
立即提问