原创 集合的理解和好處

理解 集合就是一種容器,用於保存一組元素 集合和數組的對比 數組的不足: 1、數組的長度必須提前指定,而且一旦指定不能更改 2、數組只能保存相同類型的元素 集合 1、集合在使用時,長度不用指定,而且可以實現自動擴容或截斷 2、集合沒有指定

原创 集合的框架體系圖

Java集合可分爲Collection和Map兩種體系 Collection接口(單列集合): Set:元素無序、不可重複的集合 List:元素有序、可重複的集合 Map接口(雙列集合):具有映射關係“key-value”對的集合   

原创 ArrayList的簡單使用

List是有序、可重複的容器 有序:List中每個元素都有索引標記。可以根據元素的索引標記(在List中的位置)訪問元素,從而精確控制這些元素。 可重複:List允許加入重複的元素。更確切的講,List通常允許滿足e1.equals(e2

原创 歸併排序

歸併排序介紹 歸併排序是利用歸併的思想實現的排序算法,該算法採用經典的分治策略(分治法將問題分成一些小的問題然後遞歸求解,而治的階段則將分的階段得到的各答案‘修補’在一起,即分而治之)。   package sort; import

原创 快速排序

基本思想: 快速排序是我們之前學習的冒泡排序的升級,他們都屬於交換類排序,都是採用不斷的比較和移動來實現排序的。快速排序是一種非常高效的排序算法,它的實現,增大了記錄的比較和移動的距離,將關鍵字較大的記錄從前面直接移動到後面,關鍵字較小

原创 插入排序

插入排序法介紹 插入式排序屬於內部排序,是對於欲排序的元素以插入的方式找尋該元素的適當位置,已達到排序的目的 插入排序法思想 把n個待排序的元素看成爲一個有序表和一個無序表,開始時有序表只包含一個元素,無序表中包含有n-1個元素,排序過程

原创 MySQL的常見命令

首先可以通過cmd命令登錄MySQL或者圖形化用戶界面工具     ### MySQL的常見命令     1.查看當前所有的數據庫     show databases;     2.打開指定的庫     use 庫名     3.查看

原创 希爾排序

        希爾排序(Shell's Sort)是插入排序的一種又稱“縮小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一種更高效的改進版本。希爾排序是非穩定排序算法。該方法因D.L.Shel

原创 冒泡排序及優化

冒泡排序+優化 優化思想:在一次冒泡中,當沒有數據交換的話,直接突出循環 另外,代碼加上了時間複雜度的測試:O(n^2) package sort; import java.text.SimpleDateFormat; import

原创 八皇后問題

*遞歸-八皇后問題(回溯算法)  八皇后問題算法思路分析 1)第一個皇后先放第一行第一列 2)第二個皇后放在第二行第一列,判斷是否OK,如果不OK,繼續放在第二列、第三列、依次把所有列都放完,找到一個合適的 3)繼續第三個皇后,還是第一

原创 排序算法的介紹

排序也稱排序算法(Sort Algorithm),排序是將一組數據,依指定的順序進行排列的過程。 排序的分類: 1)內部排序: 指將需要處理的所有數據都加載到內部存儲器中進行排序。 2)外部排序法: 數據量過大,無法全部加載到內存中,需要

原创 迷宮回溯問題

 如上,黑色爲障礙物,從青色到紅色 代碼+註釋: package recursion; public class MiGong { public static void main(String[] args) { //先創建

原创 利用後綴表達式計算表達式

思路: 1.將中綴表達式轉換爲list 2.將中綴表達式的list轉換爲後綴表達式list 3.通過後綴表達式計算結果:思路見註釋(詳細)  package stack; import java.util.ArrayList; imp

原创 中綴表達式轉後綴表達式(Java實現)

思路分析: 對於計算機的計算而言,常將中綴表達式轉爲後綴表達式(逆波蘭表達式)進行計算 中綴表達式 1+((2+3)*4)-5  => 後綴表達式   1 2 3 + 4 * + 5 - 步驟: 1)初始化兩個棧:運算符棧S1以及中間結果

原创 計算器(棧實現)

通過棧的數據結構實現一個計算器 詳解見註釋 package stack; public class Calculator { public static void main(String[] args) { //表達式