原创 改錯

對在牛客網上做的選擇改錯:1.二叉樹的遍歷只是爲了在應用中找到一種線性次序。(對)解析:遍歷二叉樹,就是按一定的規則和順序走遍二叉樹的所有結點,使每一個結點都被訪問一次,而且只被訪問一次。因爲二叉樹是非線性結構,因此,樹的遍歷實質上是將二叉

原创 String類

1.String特殊的類:1).構造方法有特殊性2).入池的概念(String+基本數據類型)常量池a.字面量字符串一定入池b.可以調用intern()手動入池2.不可變對象:一旦被創建,其屬性無法被修改1),屬性引用無法指向其他對象2),

原创 各種排序的複雜度

排序時間複雜度:最好 平均 最壞插入排序 O(n)(完全有序) O(n^2)

原创 冒泡、快速、歸併排序

一:冒泡排序:減治排序二:快速排序:分治算法步驟:1.在整個待排序空間內找一個基準值2.遍歷整個待排序區間,將所有數據和基準值進行比較,最終達到比基準值大的(可以包含等於的)在基準值的右邊比基準值小的(可以包含等於的)在基準值的左邊3.用同

原创 插入、希爾、選擇排序

排序:一般是原地排序(In-place)排序:默認情況下都是按非降序排序穩定性:能保證排序過程中相等的數據的相對順序不變1.插入排序:(越接近有序,執行時間效率越高)減治算法排序(直接插入排序,折半插入排序)一共需要進行size-1次插入插

原创 包裝類、自動拆、裝箱

包裝類和自動裝箱+自動拆箱包裝類:int i=10;Integer ii=new Integer(i);ArrayList<Integer>自動裝箱:只發生在編譯期間的魔法int i=10;Integer ii=i; =>Integer

原创 自我總結

今天上力扣做了幾道題,發現自己真的特別菜,寫出的程序會超出時間限制,這可能就是因爲複雜度太高了,執行時間太長,想不到複雜度低的算法,自己的基本功還是不行,瞬間對自己打擊好大,總之,我還需要很多很多的磨練,好好努力吧。

原创 泛型

泛型:1.誕生的意義:順序表本身是一種抽象數據類型,保存的數據不只是int型如果沒有泛型的支持,我們必須爲爲每一種要保存的類型定義一個順序表類爲了解決這個問題:第一階段: 1)Object是所有類的基類2)多態:基類的引用可以指向任何子類的

原创 調試的命令

調試(debug)1.編譯的時候,加一個選項(-g)javac -g -encoding UTF-8 test.java2.jdb tset1.設置斷點stop at 類名:行數stop in 類名:方法名2.打印調用棧where3.打印變

原创 鏈表的一些重要操作

LinkedList 常用操作(實現List\Deque):(ArrayList中已經寫的不再重複)構造方法:LinkedList();LinkedList(Collection c);常用方法:void addFirst();

原创 順序表的一些重要操作

ArrayList 常用操作:構造方法:ArrayList(); 構造空的·順序表,容量是默認容量ArrayList(int capacity);

原创 內部類

成員內部類:1.和外部類對象有個隱含的綁定關係2.封裝思想的體現方法內部類:1.基本和成員內部類一樣(不能定義靜態屬性|方法)2.封裝在方法內部3.可以使用局部變量|形參的值,但是要求局部變量、形參final 或 事實final4.如果方法

原创 各個訪問限定符的權限範圍

訪問限定符:類內部 同一個包的其他類 其他包的子類 其他包的其他類public 可訪問 可訪問 可訪問 可訪問prote

原创 java的繼承、接口方面的語法及知識

繼承(inheritance):一個類只能繼承一個類代碼複用繼承的語法:class ChildClass extends ParentsClass{ }父類的屬性子類中都存在,只是有沒有權限訪問的問題根據名字找誰是誰?1.變量-> 類型 (