导航:首页 > 编程语言 > floydjava

floydjava

发布时间:2022-09-28 00:41:04

A. java中如何遍历最短路径长度邻接矩阵

packagetest;
importjava.util.ArrayList;
importjava.util.List;
/**
*java-用邻接矩阵求图的最短路径、最长途径。弗洛伊德算法
*/
publicclassFloydInGraph{
privatestaticintINF=Integer.MAX_VALUE;
privateint[][]dist;
privateint[][]path;
privateList<Integer>result=newArrayList<Integer>();
publicFloydInGraph(intsize){
this.path=newint[size][size];
this.dist=newint[size][size];
}
publicvoidfindPath(inti,intj){
intk=path[i][j];
if(k==-1)return;
findPath(i,k);
result.add(k);
findPath(k,j);
}
publicvoidfindCheapestPath(intbegin,intend,int[][]matrix){
floyd(matrix);
result.add(begin);
findPath(begin,end);
result.add(end);
}
publicvoidfloyd(int[][]matrix){
intsize=matrix.length;
for(inti=0;i<size;i++){
for(intj=0;j<size;j++){
path[i][j]=-1;
dist[i][j]=matrix[i][j];
}
}
for(intk=0;k<size;k++){
for(inti=0;i<size;i++){
for(intj=0;j<size;j++){
if(dist[i][k]!=INF&&
dist[k][j]!=INF&&
dist[i][k]+dist[k][j]<dist[i][j]){//dist[i][k]+dist[k][j]>dist[i][j]-->longestPath
dist[i][j]=dist[i][k]+dist[k][j];
path[i][j]=k;
}
}
}
}

}
publicstaticvoidmain(String[]args){
FloydInGraphgraph=newFloydInGraph(5);
int[][]matrix={
{INF,30,INF,10,50},
{INF,INF,60,INF,INF},
{INF,INF,INF,INF,INF},
{INF,INF,INF,INF,30},
{50,INF,40,INF,INF},
};
intbegin=0;
intend=4;
graph.findCheapestPath(begin,end,matrix);
List<Integer>list=graph.result;
System.out.println(begin+"to"+end+",thecheapestpathis:");
System.out.println(list.toString());
System.out.println(graph.dist[begin][end]);
}
}

B. Floyd算法是什么

Floyd算法又称为弗洛伊德算法,插点法,是一种用于寻找给定的加权图中顶点间最短路径的算法。
通过一个图的权值矩阵求出它的每两点间的最短路径矩阵。
从图的带权邻接矩阵A=[a(i,j)] n×n开始,递归地进行n次更新,即由矩阵D(0)=A,按一个公式,构造出矩阵D(1);又用同样地公式由D(1)构造出D(2);……;最后又用同样的公式由D(n-1)构造出矩阵D(n)。矩阵D(n)的i行j列元素便是i号顶点到j号顶点的最短路径长度,称D(n)为图的距离矩阵,同时还可引入一个后继节点矩阵path来记录两点间的最短路径。
采用的是(松弛技术),对在i和j之间的所有其他点进行一次松弛。所以时间复杂度为O(n^3); 其状态转移方程如下: map[i,j]:=min{map[i,k]+map[k,j],map[i,j]} map[i,j]表示i到j的最短距离 K是穷举i,j的断点 map[n,n]初值应该为0,或者按照题目意思来做。
当然,如果这条路没有通的话,还必须特殊处理,比如没有map[i,k]这条路

C. What paradigm is the author writing within, critical or uncritical怎么理解这句话

就问你:作者的写作方式是什么,带讽刺性吗?

随着编程(programming、偶不喜欢说程序设计)方法学和软件工程研究的深入,特别是OO思想的普及,范式(paradigm)以及编程范式等术语渐渐出现在人们面前。

面向对象编程(OOP)常常被誉为是一种革命性的思想,正因为它不同于其他的各种编程范式;编程范式也许是学习任何一门编程语言时要理解的最重要的术语。

然而,在国内逐步了解“范式/编程范式”时,英文中该术语已经处于abuse的地步。

§1 基本含义

托马斯.库恩提出“科学的革命”的范式论之后,Robert Floyd在1979年图灵奖的颁奖演说中使用了编程范式一词。编程范式一般包括三个方面,以OOP为例:

1. 学科的逻辑体系:如类/对象、继承、动态绑定、方法改写、对象替换等等机制。

2. 心理认知因素:按照面向对象编程之父Alan Kay的观点,“计算就是模拟”。OO范式极其重视隐喻(metaphor)的价值,通过拟人化,按照自然的方式模拟自然。

3. 自然观:强调程序的组织技术,视程序为松散耦合的对象/类的集合,以继承机制将类组织成一个层次结构,把程序运行视为相互服务的对象们之间的对话。

简单的说,编程范式是程序员看待程序应该具有的观点。下面是常见的编程范式和常用的一些编程语言:

图:编程范式与编程语言

一般而言,编程语言的设计者常常让该语言支持某一特定的范式,如Java语言只支持面向对象的范式;但编程语言也可能支持多种范式,如C++语言支持面向对象的范式,同时也支持过程式范式。我们很小心的说一些语言支持某种编程范式,而不说它们实践或贯彻特定的编程范式,因为,程序员如何使用一种语言仅仅依赖于程序员。

面向对象技术一方面借鉴了哲学、心理学、生物学的思考方式,另一方面,它是建立在其他编程技术之上的,是以前的编程思想的自然产物。

如果说结构化软件设计是将函数式编程技术应用到命令式语言中进行程序设计,面向对象编程不过是将函数式模型应用到命令式程序中的另一途径,此时,模块进步为对象,过程龟缩到class的成员方法中。OOP的很多技术——抽象数据类型、信息隐藏、接口与实现分离、对象生成功能、消息传递机制等等,很多东西就是结构化软件设计所拥有的、或者在其他编程语言中单独出现。但只有在面向对象语言中,他们才共同出现,以一种独特的合作方式互相协作、互相补充。

§2 库恩与paradigm

单词paradigm并不是通过查字典就能够翻译的。 虽然paradigm的原意是example 示例、pattern模式 or model.典范、范例、模型。比如说,为了帮助我们理解某些英文动词的用法,老师会给一些例句(paradigm、example);在容易理解的计算机编程书籍中,都有大量的例程(范例)。的确,在有些计算机书籍中,将paradigm称为“范例”——指一种示范性的模型或例子,它提供了一种组织信息的形式;面向对象的范例强调以行为和责任为基础来组织信息【Timothy Budd,《面向对象Java编程思想》(修订版),清华大学出版社,2002-8】。

真正使paradigm广为流行的原因是1962年,美国科学史学家和科学哲学家托马斯·库恩(Thomas S. Kuhn)所着的着名书籍The Structure of Scientific Revolutions(《科学革命的结构》),其核心——范式论在自然科学家中引起强烈的共鸣,并波及社会科学的广泛领域。

在李宝恒、纪树立翻译的《科学革命的结构》中,paradigm翻译为“规范”,而在大量的哲学、社会科学中,一般称为“范式”。

所谓“范式”,实际上就是研究立场、观点和方法的综合体,其内容表现为对科学研究中各种信念、认知成果、研究方法的整合与升华,是一种理论模型、框架,一种思维方式和理解现实的思想体系,以及科学共同体的最高共识。或者说:它包括三个方面:

1. 科学理论体系。

2. 运用该理论体系的心理认知因素。

3. 指导和联系上述两者(理论体系和心理认知)的自然观

【全增嘏,《西方哲学史》】

在某种程度上,类似于我们习惯的术语“世界观”、毛泽东思想之“思想”。托马斯.库恩的范式论认为:通过对科学史的研究发现,科学不仅仅是某些已存在的知识体系,而是一定社会集团(科学共同体)按照一套公认的信念所进行的“专业活动”,这种活动表明,科学的发展是包括自然观、理论体系和心理认识在内的范式的运动。而范式的运动导致科学的革命。

D. 谁知道这个github项目怎么用vs编译成exe

首先,这是我在CSDN上的第一篇文章,自己也是刚接触是个初学者,如果有错误欢迎批评指正。
那么初入github首先就是根据自己所需下载相应代码,可根据搜索和README.md来查看是否是所需代码。

下载方式我使用的是下载压缩包方式。

选择Download ZIP直接下载压缩包,之后解压后打开Visual studio在“文件-打开-文件夹”进行打开。
调试阶段
成功打开后需要进行调试,在文件README.md中查看代码的要求。以Floyd代码为例Floyd代码链接,

在VS2017下编译和运行C语言程序
这一部分是根据文章在VS2017下编译和运行C语言程序进行编译的。

E. 谁可以用JAVA语言floyd算法,帮我解决一下这个题目

这题目其实就是单纯的求最长的一条路径而已,距离函数依然满足三角不等式,所以不用管它.

而且因为他是一棵树,甚至都不用floyd,直接树形遍历都可以

F. 百度百科里面的floyd算法java的代码,总是无法运行。请问是代码有问题吗,如何编译啊

不能编译运行的说法是错误,但是结果是否正确,我就不知道了,我不懂这个算法

publicclassFLOYD{
int[][]length=null;//任意两点之间路径长度
int[][][]path=null;//任意两点之间的路径

publicFLOYD(int[][]G){
intMAX=100;
introw=G.length;//图G的行数
int[][]spot=newint[row][row];//定义任意两点之间经过的点
int[]onePath=newint[row];//记录一条路径
length=newint[row][row];
path=newint[row][row][];
for(inti=0;i<row;i++)
//处理图两点之间的路径
for(intj=0;j<row;j++){
if(G[i][j]==0)
G[i][j]=MAX;//没有路径的两个点之间的路径为默认最大
if(i==j)
G[i][j]=0;//本身的路径长度为0
}
for(inti=0;i<row;i++)
//初始化为任意两点之间没有路径
for(intj=0;j<row;j++)
spot[i][j]=-1;
for(inti=0;i<row;i++)
//假设任意两点之间的没有路径
onePath[i]=-1;
for(intv=0;v<row;++v)
for(intw=0;w<row;++w)
length[v][w]=G[v][w];
for(intu=0;u<row;++u)
for(intv=0;v<row;++v)
for(intw=0;w<row;++w)
if(length[v][w]>length[v][u]+length[u][w]){
length[v][w]=length[v][u]+length[u][w];//如果存在更短路径则取更短路径
spot[v][w]=u;//把经过的点加入
}
for(inti=0;i<row;i++){//求出所有的路径
int[]point=newint[1];
for(intj=0;j<row;j++){
point[0]=0;
onePath[point[0]++]=i;
outputPath(spot,i,j,onePath,point);
path[i][j]=newint[point[0]];
for(ints=0;s<point[0];s++)
path[i][j][s]=onePath[s];
}
}
}

voidoutputPath(int[][]spot,inti,intj,int[]onePath,int[]point){//输出i//
//到j//
//的路径的实际代码,point[]记录一条路径的长度
if(i==j)
return;
if(spot[i][j]==-1)
onePath[point[0]++]=j;
//System.out.print(""+j+"");
else{
outputPath(spot,i,spot[i][j],onePath,point);
outputPath(spot,spot[i][j],j,onePath,point);
}
}

publicstaticvoidmain(String[]args){
intdata[][]={
{0,27,44,17,11,27,42,0,0,0,20,25,21,21,18,27,0},//x1
{27,0,31,27,49,0,0,0,0,0,0,0,52,21,41,0,0},//1
{44,31,0,19,0,27,32,0,0,0,47,0,0,0,32,0,0},//2
{17,27,19,0,14,0,0,0,0,0,30,0,0,0,31,0,0},//3
{11,49,0,14,0,13,20,0,0,28,15,0,0,0,15,25,30},//4
{27,0,27,0,13,0,9,21,0,26,26,0,0,0,28,29,0},//5
{42,0,32,0,20,9,0,13,0,32,0,0,0,0,0,33,0},//6
{0,0,0,0,0,21,13,0,19,0,0,0,0,0,0,0,0},//7
{0,0,0,0,0,0,0,19,0,11,20,0,0,0,0,33,21},//8
{0,0,0,0,28,26,32,0,11,0,10,20,0,0,29,14,13},//9
{20,0,47,30,15,26,0,0,20,10,0,18,0,0,14,9,20},//10
{25,0,0,0,0,0,0,0,0,20,18,0,23,0,0,14,0},//11
{21,52,0,0,0,0,0,0,0,0,0,23,0,27,22,0,0},//12
{21,21,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0},//13
{18,41,32,31,15,28,0,0,0,29,14,0,22,0,0,11,0},//14
{27,0,0,0,25,29,33,0,33,14,9,14,0,0,11,0,9},//15
{0,0,0,0,30,0,0,0,21,13,20,0,0,0,0,9,0}//16
};
for(inti=0;i<data.length;i++)
for(intj=i;j<data.length;j++)
if(data[i][j]!=data[j][i])
return;
FLOYDtest=newFLOYD(data);
for(inti=0;i<data.length;i++)
for(intj=i;j<data[i].length;j++){
System.out.println();
System.out.print("From"+i+"to"+j+"pathis:");
for(intk=0;k<test.path[i][j].length;k++)
System.out.print(test.path[i][j][k]+"");
System.out.println();
System.out.println("From"+i+"to"+j+"length:"
+test.length[i][j]);
}
}
}

G. 遗传算法求最短路径

#include<stdio.h>
#include<iostream>
#include<string.h>
#include<malloc.h>
#include<stdlib.h>
#include<string>
using namespace std;

#define OVERFLOW -2
#define OK 1
#define ERROR 0

#define INFINITY 200//最大值
#define MAX_VERTEX_NUM 20//最大顶点个数

typedef char VertexType;//定义为char类型

//以下是全局变量,用于保存弗洛伊德算法的路径和长度
int D[MAX_VERTEX_NUM][MAX_VERTEX_NUM];//记录最短路径长度
int P[MAX_VERTEX_NUM][MAX_VERTEX_NUM][MAX_VERTEX_NUM];//记录最短路径标记
//以下是全局变量,用于保存迪杰斯特拉算法的路径和长度
int Distance[MAX_VERTEX_NUM];
VertexType former[MAX_VERTEX_NUM];//终点的前一个顶点
bool final[MAX_VERTEX_NUM];//记录顶点是否在V-S中

typedef struct ArcCell
{
int adj; //顶点关系类型
int weight; //该弧相关信息的指针,在此记录为权值
}ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];

typedef struct
{
VertexType vexs[MAX_VERTEX_NUM]; //顶点向量
AdjMatrix arcs; //邻接矩阵
int vexnum; //顶点数
int arcnum; //弧数
}MGraph;

void InitialMGraph(MGraph &G)//初始化
{
G.arcnum=G.vexnum=0; //初始化边数跟顶点数都为零
for(int i=0;i<MAX_VERTEX_NUM;i++)
for(int j=0;j<MAX_VERTEX_NUM;j++)
{
if(i==j)
G.arcs[i][j].weight=0;
else
G.arcs[i][j].weight=INFINITY; //初始化为200,以200认为是无穷大
}
}

void InsertVex(MGraph &G,VertexType v)//插入顶点
{
if(G.vexnum<=MAX_VERTEX_NUM)
G.vexs[G.vexnum++]=v;
}

void InsertArc(MGraph &G,VertexType v1,VertexType v2)//插入边
{
int m,n;
G.arcnum++;
for(int k=0;k<G.vexnum;k++)
{
if(G.vexs[k]==v1)
m=k;
if(G.vexs[k]==v2)
n=k;
}
//插入
ArcCell A;
cout<<"请输入权值:";
cin>>A.weight;
G.arcs[m][n].weight=A.weight;
}

//迪杰斯特拉最短路径,假设始点就存储在数组中的第一个
void ShortestPath_DIJ(MGraph G,int v0)
{
//初始化距离
for(int v=0;v<G.vexnum;++v)
{
final[v]=false;
Distance[v]=G.arcs[v0][v].weight;
if(Distance[v]<INFINITY&&Distance[v]!=0)
{
former[v]=G.vexs[v0];
}
else
former[v]='#';
}
final[v0]=true;
former[v0]=G.vexs[v0];
for(int i=1;i<G.vexnum;++i)//剩余的G.vexnum-1个顶点
{
int w;
int min=INFINITY;
int v=-1;
for(w=0;w<G.vexnum;++w)
{
if(!final[w]&&Distance[w]<min)
{
v=w;
min=Distance[w];
}
}
if(v!=-1)
{
final[v]=true;//将离顶点V0最近的顶点v加入S集合中
for(w=0;w<G.vexnum;++w)//更新当前的最短路径及距离
{
if(!final[w]&&(min+G.arcs[v][w].weight<Distance[w])&&G.arcs[v][w].weight<INFINITY)
{
Distance[w]=min+G.arcs[v][w].weight;
former[w]=G.vexs[v];
}
}
}
}
}
//输出迪杰斯特拉中的最短路径
void output_ShortestPath_DIJ(MGraph G,int v0)
{
int i;
for(i=1;i<G.vexnum;i++)
{
cout<<G.vexs[v0]<<"->"<<G.vexs[i]<<":";
if(Distance[i]!=INFINITY)
{
cout<<"最短路径长度为:"<<Distance[i]<<" 最短路径的前一个顶点为:"<<former[i];
cout<<endl;
}
else
cout<<"此两顶点之间不存在路径"<<endl;
}
}
//弗洛伊德最短路径
void shortestPath_FLOYD(MGraph G)
{
for(int v=0;v<G.vexnum;++v)
{
for(int w=0;w<G.vexnum;++w)
{
D[v][w]=G.arcs[v][w].weight;
for (int k=0;k< G.vexnum;k++)
P[v][w][k]=-1;
if(D[v][w]<INFINITY) //从v到w有直接路径
P[v][w][v]=w;
}
}
for(int k=0;k<G.vexnum;++k)
{
for(int v=0;v<G.vexnum;v++)
for(int w=0;w<G.vexnum;++w)
if(D[v][w]>D[v][k]+D[k][w])
{
D[v][w]=D[v][k]+D[k][w];
for(int i=0;i<G.vexnum;i++)
{
if(P[v][k][i]!=-1)//原来存了顶点
P[v][w][i]=P[v][k][i];
else
P[v][w][i]=P[k][w][i];
}
}
}
}
//输出弗洛伊德中的最短路径
void output_shortestPath_FLOYD(MGraph G)
{
for(int i=0;i<G.vexnum;++i)
{
for(int j=0;j<G.vexnum;++j)
{
if(i!=j)//自己不能到达自己
{
cout<<G.vexs[i]<<"->"<<G.vexs[j]<<":";
if(D[i][j]==INFINITY)
{
cout<<"此两顶点之间不存在路径"<<endl;
}
else
{
cout<<"最短路径长度为:"<<" "<<D[i][j]<<" ";
cout<<"最短路径为:";
cout<<G.vexs[i];
for(int k=i;k!=-1;k=P[i][j][k])
{
if(k!=i)
cout<<G.vexs[k];
}
cout<<endl;
}
}
}
}
}

int main()
{
int num1;//顶点个数
int num2;//弧个数
cout<<"请输入顶点个数:";
cin>>num1;
cout<<"请输入弧个数:";
cin>>num2;
VertexType v;
MGraph G;
InitialMGraph(G);
cout<<"请输入顶点的信息:"<<endl;
for(int i=0;i<num1;++i)
{
cin>>v;;
InsertVex(G,v);
}
VertexType v1,v2;
for(int j=0;j<num2;++j)
{
cout<<"请输入两个结点数据来表示的边:";
cin>>v1>>v2;
InsertArc(G,v1,v2);
}
ShortestPath_DIJ(G,0);
cout<<"迪杰斯特拉中的最短路径如下:"<<endl;
output_ShortestPath_DIJ(G,0);
cout<<endl<<endl;
shortestPath_FLOYD(G);
cout<<"弗洛伊德中的最短路径如下:"<<endl;
output_shortestPath_FLOYD(G);
return 0;
}

H. 求数据结构公交线路咨询的代码用java,其中求最短路径用Floyd算法

不知道你想怎么搞 反正感觉A*算法也可以,网上一大堆,还有就是Dijkstra算法

I. 常见的计算机英语专业词汇

常见的计算机英语专业词汇

作为计算机相关专业学生,面试或者笔试时不可避免地会遇到与专业相关的'问题,而考核专业问题的时候,又不可避免地涉及到很多专业词汇,这就需要求职者掌握好常见的专业词汇,才能在阐述问题时得心应手,避免出现表达错误引起误解。以下是计算机专业常见相关词汇。

计算机导论 Introction to Computer Science

高等数学 Advanced Mathematics

应用创造学 Creativity Methodology

工程图学与计算机绘图 Engineering Graphics and Computer Graphics Drawings

面向对象程序设计 Object-oriented Programming

概率论与数理统计 Probability Theory and Statistics

离散数学 Discrete Mathematics

软件工程概论 Introction to Software Engineering

数据结构 Data Structures

计算机组成与结构 Computer Organization and Architecture

操作系统 Operating System

计算机网络 Computer Network

算法设计与分析 Algorithm Design and Analysis

软件工程经济学 Software Engineering Economics

Java技术 Java Technology

UML建模 UML Modeling (Unified Modeling Language Modeling)

数据库系统概论 Introction to Database Systems

编译原理 Principle of Compiler

软件体系结构 Software Architecture

程序分析 Program Analysis

软件过程与项目管理 Software Process and Project Management

系统分析与设计 System Analysis and Design

程序测试 Program Testing

模式识别 Pattern Recognition

嵌入式程序设计 Embedded Programming

人机交互技术 Human-computer Interaction Technology

云计算 Cloud Computing

计算机与网络安全 Computer and Network Security

计算机图形学 Computer Graphics

数据挖掘技术 Data Mining Technology

分布对象技术 Distributed Object Technology

网络多媒体 Internet Multimedia

网络程序设计 Network Programming

.NET程序设计 . NET Programming Design

协议工程 Protocol Engineering

5.4.2 操作系统相关术语

虚拟机 Virtual Machine

访问控制列表 Access Control List

线程 Thread

多线程 Multithreading

进程 Process

守护进程 Daemon

进程间通信 IPC (Interprocess Communication)

死锁 Deadlock

银行家算法 Banker’s algorithm

内存管理 Memory management

虚拟地址 Virtual address

物理地址 Physical address

引导盘 Boot Disk

页面失效 Page Fault

后台进程/前台进程 Background Process /Foreground Process

文件传送协议 FTP (File Transfer Protocol)

图形用户界面 GUI (Graphical User Interface)

权限 Permission

移植 Port/Ported/Porting

可移植系统接口 Portable Operating System Interface

分时 Time-sharing

工作区 Workspace

工作目录 Working Directory

窗口管理器 Window Manager

封装器 Wrapper

5.4.3 算法相关术语

字典 Dictionaries

堆 Heap

优先级队列 Priority queue

矩阵乘法 Matrix multiplication

贪心算法 Greedy algorithm

上界/下界 Upper bound / Lower bound

最好情况/最坏情况/平均情况 Best case /Worst Case/ Average case

插入排序 Insertion sort

合并排序 Merge sort

堆排序 Heap sort

快速排序 Quick sort

动态规划 DP (Dynamic Programming)

背包问题 Knapsack problem

霍夫曼编码 Huffman Coding

迪杰斯特拉算法 Dijkstra’s algorithm

贝尔曼-福德算法 Bellman-Ford algorithm

弗洛伊德算法 Floyd-Warshall algorithm

回溯 Back-Tracking

N皇后问题 N-Queen problem

渐进增长 Asymptotic growth(包含O-notationΩ-notation Θ-notation)

线性规划 Linear programming

随机数生成 Random number generation

图的生成 Generating graphs

图论-多项式算法 Graph Problems – polynomial algorithm

连通分支 Connected components

最小生成树 Minimum Spanning Tree

最短路径 Shortest path

NP问题 Non-Deterministic Polynomial problem

旅行商问题 Traveling salesman problem

同构 Graph isomorphism

压缩 Text compression

最长公共子串 Longest Common Substring

最短公共父串 Shortest Common Superstring

收敛速度 Rate of convergence

5.4.4 数据结构相关术语

集合 Set Data Structures

线性方程组 Linear Equations

数据抽象 Data abstraction

数据元素 Data element

数据对象 Data object

数据类型 Data type

逻辑结构 Logical structure

物理结构 Physical structure

线性结构/非线性结构 Linear structure / Nonlinear structure

线性表 Linear list

栈 Stack

队列 Queue

串 String

图 Graph

插入 Insertion

删除 Deletion

前趋 Predecessor

后继 Successor

直接前趋 Immediate predecessor

直接后继 Immediate successor

双端列表 Double-ended queue

循环队列 Circular queue

指针 Pointer

先进先出表(队列) First-in first-out list

后进先出表(队列) Last-in first-out list

栈底/栈顶 Bottom /Top

压入/弹出 Push/ Pop

队头/队尾 Front/ Rear

上溢/下溢 Overflow/ Underflow

数组 Array

矩阵 Matrix

多维数组 Multi-dimensional array

以行为主/以列为主的顺序分配 Row major order / Column major order

三角矩阵 Triangular matrix

对称矩阵 Symmetric matrix

稀疏矩阵 Sparse matrix

转置矩阵 Transposed matrix

链表 Linked list

线性链表 Linear linked list

单链表 Single linked list

多重链表 Multilinked list

循环链表 Circular linked list

双向链表 Doubly linked list

十字链表 Orthogonal list

广义表 Generalized list

指针域 Pointer field

头结点 Head node

头指针/尾指针 Head pointer/ Tail pointer

空白串 Blank string

空串(零串)Null string

子串 Substring

树 Tree

子树 Subtree

森林 Forest

根 Root

叶子 Leaf

深度 Depth

双亲/孩子/兄弟/祖先/子孙 Parents/ Children/ Brother/ Ancestor/ Descendant

二叉树 Binary tree

平衡二叉树 Balanced binary tree

满二叉树 Full binary tree

完全二叉树 Complete binary tree

遍历二叉树 Traversing binary tree

二叉排序树 Binary sort tree

二叉查找树 Binary search tree

线索二叉树 Threaded binary tree

哈夫曼树 Huffman tree

有序树/无序树 Ordered tree / Unordered tree

判定树 Decision tree

数字查找树 Digital search tree

树的遍历 Traversal of tree

先序遍历 Preorder traversal

中序遍历 Inorder traversal

后序遍历 Postorder traversal

子图 Subgraph

有向图/无向图 Digraph(directed graph)/Undigraph(undirected graph)

完全图 Complete graph

连通图 Connected graph

非连通图 Unconnected graph

强连通图 Strongly connected graph

弱连通图 Weakly connected graph

有向无环图 Directed acyclic graph

重连通图 Biconnected graph

二部图 Bipartite graph

边 Edge

顶点 Vertex

连接点 Articulation point

初始结点 Initial node

终端结点 Terminal node

相邻边 Adjacent edge

相邻顶点 Adjacent vertex

关联边 Incident edge

入度/出度 In-degree/ Out-degree

有序对/无序对 Ordered pair/ Unordered pair

简单路径 Simple path

简单回路 Simple cycle

连通分量 Connected component

邻接矩阵 Adjacency matrix

邻接表 Adjacency list

邻接多重表 Adjacency multi-list

遍历图 Traversing graph

生成树 Spanning tree

拓扑排序 Topological sort

偏序 Partial order

AOV网 Activity On Vertex network

AOE网 Activity On Edge network

关键路径 Critical path

线性查找(顺序查找) Linear search (Sequential search)

二分查找 Binary search

分块查找 Block search

散列查找 Hash search

平均查找长度 Average search length

散列表 Hash table

散列函数 Hash function

直接寻址法 Immediately allocating method

数字分析法 Digital analysis method

平方取中法 Mid-square method

随机数法 Random number method

内部排序 Internal sort

外部排序 External sort

选择排序 Selection sort

基数排序 Radix sort

平衡归并排序 Balance merging sort

二路平衡归并排序 Balance two-way merging sort

多步归并排序 Ploy phase merging sort

置换选择排序 Replacement selection sort

索引文件 Indexed file

索引顺序文件 Indexed sequential file

索引非顺序文件 Indexed non-sequential file

多重链表文件 Multi-list file

倒排文件 Inverted file

5.4.5 计算机网络相关术语

端口 Port

服务器 Server

客户端 Client

服务访问点 SAP (Service Access Point)

开放系统互联 OSI (Open System Interconnection)

物理层 Physical layer

数据链路层 Data link layer

网络层 Network layer

运输层 Transport layer

会话层 Session layer

表示层 Presentation layer

应用层 Application layer

TCP/IP协议 TCP / IP protocol

信道容量 Channel capacity

香农 Shannon

奈奎斯特 Nyquist

双绞线 UTP (Unshielded Twisted Paired)

同轴电缆 Coaxial cable

光纤 Optical fiber

不归零码 NRZ (Non Return to Zero)

曼彻斯特编码 Manchester coding

调制 Molation

脉码调制 PCM (Pulse Code Molation)

增量调制 DM (Delta Molation)

同步传输/异步传输 Synchronous transmission / ATM (Asynchronous transmission)

循环冗余校验 CRC (Cyclic Rendancy Check)

流量控制 Flow control

滑动窗口 Sliding window

差错控制 Error control

帧结构 Frame structure

复用 Reuse

非对称数字用户线路 ADSL (Asymmetric digital subscriber line)

电路交换和分组交换 Circuit switching and packet switching

频分多路复用 Frequency division multiplexing

信令 Signaling

数据报 Datagram

虚电路 Virtual circuit

帧中继 Frame relay

信元 Ceil

拥塞 Congestion

反压 Back pressure

令牌桶 Token bucket

环形/总线形/树形和星形结构 Ring/ bus/ tree and star structure

局域网 LAN (local area network)

集线器 Hub

交换机 Switch

路由器 Router

网桥 Network bridge

以太网监听算法 Ethernet listener algorithm

子网掩码 Subnet mask

三次握手 Three-way handshake

地址解析协议 APP (Address resolution protocol)

瘦客户机 Thin client

网际控制报文协议 ICMP (Internet Control Message Protocol)

因特网群组管理协议 IGMP (Internet Group Management Protocol)

拒绝服务 Denial of service

边界网关 Border gateway

域名系统 DNS (Domain Name System)

数据链路控制 DLC (Data Link Control)

互联网电子邮件协议标准 POP (Post Office Protocol)

远程控制 Remote control

简单邮件传送协议 SMTP (Simple Mail Transport Protocol)

;
阅读全文

与floydjava相关的资料

热点内容
压缩因子定义 浏览:968
cd命令进不了c盘怎么办 浏览:214
药业公司招程序员吗 浏览:974
毛选pdf 浏览:659
linuxexecl函数 浏览:727
程序员异地恋结果 浏览:374
剖切的命令 浏览:229
干什么可以赚钱开我的世界服务器 浏览:290
php备案号 浏览:990
php视频水印 浏览:167
怎么追程序员的女生 浏览:487
空调外压缩机电容 浏览:79
怎么将安卓变成win 浏览:459
手机文件管理在哪儿新建文件夹 浏览:724
加密ts视频怎么合并 浏览:775
php如何写app接口 浏览:804
宇宙的琴弦pdf 浏览:396
js项目提成计算器程序员 浏览:944
pdf光子 浏览:834
自拍软件文件夹名称大全 浏览:328