Java學習手冊 (資料結構與演算法 排序)歸併排序

2021-09-19 04:36:20 字數 467 閱讀 5861

演算法思想:歸併排序是用遞迴和分治方法將資料序列劃分為越來越小的半子表,再對半子表排序,最後再用遞迴方法將排好序的半子表合併為越來越大的有序序列。

package com.haobi;

/* * 歸併排序

*/public class mergesort {

public static void merge(int array,int p,int q,int r) {//p-左邊位置;q-中間點;r-右邊位置;

int i,j,k;//迴圈所用到的引數

int n1 = q-p+1;//n1-左邊陣列的長度

int n2 = r-q;//n2-右邊陣列的長度

int l = new int[n1];//l-左邊陣列

int r = new int[n2];//r-右邊陣列

for(i=0,k=p;i程式輸出結果如下:

1 5 13 19 26 27 31 

Java學習手冊 (資料結構與演算法 排序)插入排序

演算法思想 在乙個已排好序的記錄子集的基礎上,每一步將下乙個待排序的記錄有序地插入到已排好序的記錄子集中,直到將所有待排序記錄全部插入為止。例子 舉個栗子,對5,3,8,6,4這個無序序列進行簡單插入排序,首先假設第乙個數的位置時正確的,想一下在拿到第一張牌的時候,沒必要整理。然後3要插到5前面,把...

Java學習手冊 (資料結構與演算法 排序)選擇排序

演算法思想 對於一組資料,經過第一次排序得到最小的記錄,然後將該記錄與第乙個記錄的位置進行交換 接著對不包括第乙個記錄的其他記錄進行第二輪比較,得到最小的記錄並與第二個記錄進行位置交換 重複該操作,直至進行比較的記錄只有乙個。例子 舉個栗子,對5,3,8,6,4這個無序序列進行簡單選擇排序,首先要選...

Java資料結構與演算法

1.1 概念資料結構主要是研究程式設計問題中計算機的操作物件以及它們之間的關係和操作的學科。1.2 分類儲存結構 存在於計算機世界的物理層面 邏輯結構 一種是資料結構的邏輯層面 1.3 按照資料元素分類線性 存在於計算機世界的物理層面 非線性 一種是資料結構的邏輯層面 1.4 集合結構只考慮資料元素...