Home  >  Article  >  Java  >  Java development: how to implement data structures and algorithms

Java development: how to implement data structures and algorithms

WBOY
WBOYOriginal
2023-09-21 16:31:48523browse

Java development: how to implement data structures and algorithms

Java development: How to implement data structures and algorithms, specific code examples are required

Introduction: Data structures and algorithms are important basic knowledge in computer science, and are also important for everyone Skills that every Java developer should master. This article will introduce how to implement common data structures and algorithms in Java and give specific code examples.

1. Implementation of data structure

  1. Array

Array is one of the simplest data structures and can be used in Java as follows The code creates an integer array:

int[] array = new int[5];
  1. Linked List

The linked list is a dynamic data structure. In Java, you can use the following code to implement a one-way linked list:

class Node {
    int value;
    Node next;
    
    public Node(int value) {
        this.value = value;
        this.next = null;
    }
}

class LinkedList {
    Node head;
    
    public void add(int value) {
        Node newNode = new Node(value);
        
        if (head == null) {
            head = newNode;
        } else {
            Node current = head;
            while (current.next != null) {
                current = current.next;
            }
            current.next = newNode;
        }
    }
}
  1. Stack

The stack is a last-in-first-out (LIFO) data structure. You can use the following code to implement a stack:

class Stack {
    int[] array;
    int top;
    
    public Stack(int size) {
        array = new int[size];
        top = -1;
    }
    
    public void push(int value) {
        if (top < array.length - 1) {
            array[++top] = value;
        }
    }
    
    public int pop() {
        if (top >= 0) {
            return array[top--];
        }
        return -1;
    }
}

2. Implementation of common algorithms

  1. Sorting algorithm

(1) Bubble Sort (Bubble Sort)

Bubble sort is a A simple sorting algorithm that repeatedly visits the elements to be sorted, comparing adjacent elements and swapping positions until no swapping occurs.

The following is a code example of using Java to implement bubble sort:

public void bubbleSort(int[] array) {
    int n = array.length;
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (array[j] > array[j + 1]) {
                int temp = array[j];
                array[j] = array[j + 1];
                array[j + 1] = temp;
            }
        }
    }
}

(2) Quick Sort (Quick Sort)

Quick sort is a commonly used sorting algorithm. It divides the sequence into two parts by selecting a pivot element, and then sorts the two parts separately.

The following is a code example using Java to implement quick sorting:

public void quickSort(int[] array, int left, int right) {
    if (left < right) {
        int pivot = partition(array, left, right);
        quickSort(array, left, pivot - 1);
        quickSort(array, pivot + 1, right);
    }
}

public int partition(int[] array, int left, int right) {
    int pivot = array[right];
    int i = left - 1;
    for (int j = left; j < right; j++) {
        if (array[j] < pivot) {
            i++;
            int temp = array[i];
            array[i] = array[j];
            array[j] = temp;
        }
    }
    int temp = array[i + 1];
    array[i + 1] = array[right];
    array[right] = temp;
    return i + 1;
}
  1. Search algorithm

(1) Binary Search (Binary Search)

Binary search is a common search algorithm that finds the position of a specified element in an ordered array.

The following is a code example of using Java to implement binary search:

public int binarySearch(int[] array, int target) {
    int left = 0;
    int right = array.length - 1;
    while (left <= right) {
        int mid = left + (right - left) / 2;
        if (array[mid] == target) {
            return mid;
        } else if (array[mid] < target) {
            left = mid + 1;
        } else {
            right = mid - 1;
        }
    }
    return -1;
}

(2) Linear Search (Linear Search)

Linear search is a simple search algorithm. Compares the elements in the array one by one until the target element is found or the entire array is traversed.

The following is a code example of using Java to implement linear search:

public int linearSearch(int[] array, int target) {
    for (int i = 0; i < array.length; i++) {
        if (array[i] == target) {
            return i;
        }
    }
    return -1;
}

Conclusion:

Through the introduction of this article, we have learned to implement common data structures and algorithms in Java methods, and specific code examples are given. It is hoped that readers can further understand and master this knowledge through practice and improve their programming abilities.

The above is the detailed content of Java development: how to implement data structures and algorithms. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn