核心思想:就相當於你在抓取撲克牌,第一張撲克牌是不用排序的,當你抓取第二張撲克牌的時候才與之前的撲克牌排序,當你抓取第三張撲克牌的時候,第
一、二張撲克牌是已經排好的。
**
package com.example;
public
class myclass ;
//i沒有以0開始,是因為第一張撲克牌不用排序,相當於我手上正在
//抓的那張撲克牌
for (int i = 1; i <= numbers.length - 1; i++)
//最後將手上抓的那張撲克牌,放到該放置的位置
numbers[j + 1] = cur;
}for (int i = 0; i <= numbers.length - 1; i++)
}}
核心思想:找出陣列最小的元素和陣列第乙個位置交換,找出次小的元素和陣列第二個位置交換。n個陣列執行n-1次。
**
public
class sortadaptee
return args;
}private
intminfornumbers(int i, int args)
}return position;
}}
核心思想:
分解:分解待排序的n個元素的序列成各具n/2個元素的兩個子串行
解決:使用歸併排序遞迴地排序兩個子串行
合併:合併兩個已排序的子串行以產生已排序的答案
**
public
class myclass ;
int p = 1;
int r = 8;
mergesort(a, p, r);
for (int i = 1;i <= a.length - 1; i++)
}private
static
void
mergesort(int a, int p, int r)
}private
static
void
merge1(int a, int p, int q, int r)
for (int j = 1;j <= n2; j++)
l[n1 + 1] = 9999;
r[n2 + 1] = 9999;
int i = 1;
int j = 1;
for (int k = p; k <= r; k++)else }}
}
堆排序演算法分析 《演算法導論》學習筆記
max heapify a,i 1 l left i 2 r right i 3ifl heap size a and a l a i 4thenlargest l 5elselargest i 6ifr heap size a and a r a largest 7thenlargest r 8i...
演算法導論學習筆記 1 基礎排序演算法
最近從頭開始學習演算法導論,作為乙個非計算機專業的學生,我的目的也就是為了找工作的時候能多點籌碼 但是學習過程中還是有不少收穫的,順便也能練習下python程式設計水平,因此記錄下學習內容 第一章是演算法基礎,這裡介紹了2種排序方法 插入排序和歸併排序 例子還算比較淺顯易懂。對於插入排序,可以用乙個...
演算法導論學習筆記 插入排序
用遞迴的方法實現的插入排序演算法 分解 n個元素的排序看成是把第n個元素插入到已排好序的n 1個元素中 解決 對n 1個元素以次遞迴 合併 用插入排序將第n個元素插入到排好序的n 1個元素序列中 public class insertsort arr i 1 key 插入排序的外層函式 param ...