《演算法導論》學習筆記 排序問題

2021-08-20 03:14:13 字數 1352 閱讀 5957

核心思想:就相當於你在抓取撲克牌,第一張撲克牌是不用排序的,當你抓取第二張撲克牌的時候才與之前的撲克牌排序,當你抓取第三張撲克牌的時候,第

一、二張撲克牌是已經排好的。

**

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 ...