原创 Java算法(02) -- 最小棧的實現

最小棧的實現1、題目分析方法一【錯誤】方法二【正確】2、代碼實現 1、題目分析 實現一個棧,該棧帶有出棧(pop)、入棧(push)、取最小元素(getMin)3 個方法,保證這3個方法的時間複雜度都是O(1)。 方法一【錯誤】

原创 圖解排序算法(03) -- 徹底搞懂快速排序

快速排序1、初識快速排序使用分治法的優勢2、基準元素的選擇3、元素的交換雙邊循環法(遞歸)雙邊循環法代碼實現單邊循環法(遞歸)單邊循環法代碼實現非遞歸實現非遞歸代碼實現 1、初識快速排序 同冒泡排序一樣,快速排序也屬於交換排序,通

原创 Java算法(01) -- 如何判斷鏈表有環

如何判斷鏈表有環1、題目分析方法一方法二方法三【雙指針】2、代碼實現 1、題目分析 有一個單向鏈表,鏈表中有可能出現“環”,就像下圖這樣。如何用程序來判斷該鏈表是否爲有環鏈表呢? 方法一 方法流程: 從頭節點開始,依次遍歷單鏈

原创 圖解排序算法(01) -- 你不知道的冒泡排序

冒泡排序1、初識冒泡排序2、冒泡排序的代碼實現3、冒泡排序的初步優化4、冒泡排序的進階優化 1、初識冒泡排序 冒泡排序的英文是bubble sort,它是一種基礎的交換排序;冒泡排序每一個元素都可以根據自身大小,一點一點地向着數組

原创 圖解排序算法(02) -- 雞尾酒排序

雞尾酒排序1、簡述雞尾酒排序2、雞尾酒排序代碼實現3、雞尾酒排序優缺點 1、簡述雞尾酒排序 在上一篇博文《你不知道的冒泡排序》中介紹了冒泡排序,而【雞尾酒排序】可以看做是【升級版的冒泡排序】,相比較而言雞尾酒排序的元素比較和交換過

原创 重學數據結構與算法(07)--數組:如何實現基於索引的查找?

數組:如何實現基於索引的查找?1)數組是什麼2)數組的基本操作2.1)數組的新增操作2.2)數組的刪除操作2.3)數組的查找操作2.4)數組增刪查操作的特點3)數組的案例4)總結 由於棧和隊列是特殊的線性表,本質上他們都可以被看作

原创 重學數據結構與算法(06)--隊列:先進先出的線性表,如何實現增刪查?

隊列:先進先出的線性表如何實現增刪查?1)隊列是什麼2)隊列對於數據的增刪查處理2.1)循環隊列的數據操作2.2)鏈式隊列的數據操作3)隊列的案例4)總結 對線性表予以限制,那麼就得到了後進先出的數據結構,棧。與之對應的還有一種限

原创 重學數據結構與算法(05)--棧:後進先出的線性表,如何實現增刪查?

棧:後進先出的線性表如何實現增刪查1)棧是什麼?2)棧的基本操作順序棧鏈棧3)棧的案例4)總結 線性表是使用非常廣泛的一類數據結構,它對數據的順序非常敏感,而且它對數據的增刪操作非常靈活。在有序排列的數據中,可以靈活的執行增刪操作

原创 重學數據結構與算法(04)--如何完成線性表結構下的增刪查

如何完成線性表結構下的增刪查?1)什麼是數據結構?2)什麼是線性表3)線性表對於數據的增刪查處理4)線性表案例5)總結 數據在代碼中被處理和加工的最小單位動作是增、刪、查。它們是深入學習數據結構的根基,通過“增刪查”的操作,我們可

原创 mysql學習(01)-- SQL排序/聚合函數/分組

SQL排序/聚合函數/分組1)排序2)聚合函數3)分組 1)排序 排序:order by 字段 asc : 從小到大排序,即升序 desc:從大到小排序,即降序 建表語句:students.sql SET FOREIGN_K

原创 重學數據結構與算法(03)--增刪查:掌握數據處理的基本操作

掌握數據處理的基本操作1)代碼對數據的處理2)數據處理的基本操作3)數據操作與數據結構的案例4)總結 要想靈活使用數據結構,需要先弄清楚數據在代碼中被處理、加工的最小單位動作,也就是數據結構的基本操作,有了這些動作之後,就可以基於

原创 JavaWeb學習(15)--Filter快速入門

Filter快速入門1)Filter(過濾器)簡介概念快速入門2)Filter(過濾器)細節web.xml配置過濾器執行流程過濾器生命週期方法過濾器配置詳解過濾器鏈(配置多個過濾器) 1)Filter(過濾器)簡介 概念 web中

原创 重學數據結構與算法(01)--複雜度:如何衡量程序運行的效率?

複雜度:如何衡量程序運行的效率?1)複雜度是什麼2)計算複雜度3)時間複雜度與代碼結構的關係4)降低時間複雜度的必要性5)總結 當你在大數據環境中開發代碼時,你一定遇到過程序執行好幾個小時、甚至好幾天的情況,或者是執行過程中電腦幾

原创 重學數據結構與算法(02)--將時間複雜度轉換成空間複雜度

將時間複雜度轉換成空間複雜度1)時間昂貴、空間廉價2)數據結構連接時空3)降低複雜度的案例例一例二4)總結 面試的過程中,常常會遇到考察手寫代碼的場景,通常面試官會追問:“這段代碼的時間複雜度或者空間複雜度,是否還有降低的可能性?

原创 JavaWeb學習(14)--EL表達式和JSTL

EL表達式和JSTL1)EL表達式2)EL的使用EL運算符 1)EL表達式 概念:Expression Language 表達式語言 作用:替換和簡化jsp頁面中java代碼的編寫 語法:${表達式} 注意:jsp默認支持el表