導航:首頁 > 編程語言 > 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