色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java常用數(shù)據(jù)結(jié)構(gòu)和算法

李佳璐1年前6瀏覽0評論

Java是一種高級編程語言,其流行程度與功能強大性使其成為最常用的編程語言之一。Java應(yīng)用于各種領(lǐng)域,包括軟件開發(fā)、金融、人工智能、網(wǎng)站開發(fā)等等,因此,Java編程者需要熟悉各種數(shù)據(jù)結(jié)構(gòu)和算法。

下面介紹一些Java編程中常用的數(shù)據(jù)結(jié)構(gòu)和算法:

1.數(shù)組

int[] array = {1,2,3,4};

2.鏈表

class LinkedListNode {
int val;
LinkedListNode next;
LinkedListNode(int val) {
this.val = val;
this.next = null;
}
}

3.樹

class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int val) {
this.val = val;
this.left = null;
this.right = null;
}
}

4.圖

class GraphNode {
int val;
Listneighbors;
GraphNode(int val) {
this.val = val;
this.neighbors = new ArrayList<>();
}
}

5.排序算法

//冒泡排序
public static void bubbleSort(int[] arr) {
int len = arr.length;
boolean flag = true;
for (int i = 0; i< len - 1; i++) {
for (int j = 0; j< len - i - 1; j++) {
if (arr[j] >arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
flag = false;
}
}
if (flag) {
break;
}
}
}
//選擇排序
public static void selectSort(int[] arr) {
int len = arr.length;
for (int i = 0; i< len - 1; i++) {
int minIndex = i;
for (int j = i + 1; j< len; j++) {
if (arr[j]< arr[minIndex]) {
minIndex = j;
}
}
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
//插入排序
public static void insertSort(int[] arr) {
int len = arr.length;
for (int i = 1; i< len; i++) {
int temp = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] >temp) {
arr[j+1] = arr[j];
j--;
}
arr[j+1] = temp;
}
}

6.查找算法

//順序查找
public static int sequentialSearch(int[] arr, int target) {
for (int i = 0; i< arr.length; i++) {
if (arr[i] == target) {
return i;
}
}
return -1;
}
//二分查找
public static int binarySearch(int[] arr, int target) {
int left = 0;
int right = arr.length - 1;
while (left<= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] >target) {
right = mid - 1;
} else {
left = mid + 1;
}
}
return -1;
}

這些數(shù)據(jù)結(jié)構(gòu)和算法是Java編程中最常用的,掌握它們將使您的編程更加高效而有效。