演算法和資料結構(二) 演算法

2021-10-01 03:14:25 字數 1520 閱讀 8106

接著上篇部落格,這篇部落格我們一起看看傳說中的演算法(早知道這麼簡單,早點看看的話,阿里也就去了,淚奔....)。

面試常見的演算法分為兩種:排序演算法和查詢演算法。

(1)逐個比較相鄰的兩個元素,將較大的值往後放

(2)第一輪比較完最大的元素放陣列最後,第二輪剩下的元素裡最大的元素放陣列倒數第二位...

public class sorttest ;

system.out.println(arrays.tostring(bubble_sort(arr)));

} public static int bubble_sort(int arr)

}} return arr;

}}

需要注意的是,內層迴圈的條件是j(1)遍歷相鄰的兩個元素,找到最小元素的下標,將該元素移動到陣列第一位;

(2)從陣列第二位開始重複執行(1)中的步驟

public class sorttest ;

system.out.println(arrays.tostring(select_sort(arr)));

} public static int select_sort(int arr)

}if (min != i)

} return arr;

}}

(1)比較第乙個元素和第0個元素大小,並將第乙個元素插入到合適位置;

(2)比較第二個元素和前兩個元素大小,並將第二個元素插入到合適位置;

(3)將所有元素按照(2)中的步驟執行

public class sorttest ;

system.out.println(arrays.tostring(insert_sort(arr)));

} public static int insert_sort(int arr)

arr[j + 1] = insert;

} return arr;

}}

public class sorttest ;

quicksort(array, 0, array.length - 1);

system.out.println(arrays.tostring(array));

} public static void quicksort(int array, int left, int right)

int key = array[left];

int i = left;

int j = right;

while (i < j)

while (array[i] <= key && i < j)

if (i < j)

} array[left] = array[i];

array[i] = key;

quicksort(array, left, i - 1);

quicksort(array, i + 1, right);

}}

資料結構與演算法 演算法 演算法和資料結構

資料結構與演算法 演算法 好吧,在這裡,您被優秀或優秀的軟體開發人員所隔開。在這種情況下,我會告訴您一開始或至少在我的情況下,並且我知道大多數時候,對於我認識的大多數人,您會覺得自己是乙個無能的人或白痴。基本上,我怎麼可能不理解這一點,然後您會感到沮喪。在這種情況下,我會告訴您情況並不像您想的那麼糟...

演算法和資料結構

演算法和資料結構 演算法和資料結構 千絲萬縷的聯絡 縱觀各種演算法書籍,大多都是將演算法和資料結構作為乙個整體來講述。資料結構就是陣列 樹結構等儲存或表現物件資料的結構。將演算法和資料結構作為整體講述,是因為必須依照演算法中的常用操作選擇資料結構。例如,事先將資料儲存在適當的樹形結構中,大多數情況下...

演算法和資料結構

演算法 資料結構與演算法的關係是相互依賴不可分割的。演算法的定義 演算法是解決特定問題求解步驟的描述,在計算機中為指令的有限序列,並且每條指令表示乙個或多個操作。演算法的特性 有窮性 確定性 可行性 輸入 輸出。演算法設計的要求 正確性 可讀性 健壯性 高效率和低儲存量需求。演算法特性與演算法設計容...