接著上篇部落格,這篇部落格我們一起看看傳說中的演算法(早知道這麼簡單,早點看看的話,阿里也就去了,淚奔....)。
面試常見的演算法分為兩種:排序演算法和查詢演算法。
(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);
}}
資料結構與演算法 演算法 演算法和資料結構
資料結構與演算法 演算法 好吧,在這裡,您被優秀或優秀的軟體開發人員所隔開。在這種情況下,我會告訴您一開始或至少在我的情況下,並且我知道大多數時候,對於我認識的大多數人,您會覺得自己是乙個無能的人或白痴。基本上,我怎麼可能不理解這一點,然後您會感到沮喪。在這種情況下,我會告訴您情況並不像您想的那麼糟...
演算法和資料結構
演算法和資料結構 演算法和資料結構 千絲萬縷的聯絡 縱觀各種演算法書籍,大多都是將演算法和資料結構作為乙個整體來講述。資料結構就是陣列 樹結構等儲存或表現物件資料的結構。將演算法和資料結構作為整體講述,是因為必須依照演算法中的常用操作選擇資料結構。例如,事先將資料儲存在適當的樹形結構中,大多數情況下...
演算法和資料結構
演算法 資料結構與演算法的關係是相互依賴不可分割的。演算法的定義 演算法是解決特定問題求解步驟的描述,在計算機中為指令的有限序列,並且每條指令表示乙個或多個操作。演算法的特性 有窮性 確定性 可行性 輸入 輸出。演算法設計的要求 正確性 可讀性 健壯性 高效率和低儲存量需求。演算法特性與演算法設計容...