色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

想用Java學習數據結構與算法,我應該掌握Java到哪種程度?

錢良釵2年前13瀏覽0評論

首先強調一點,數據結構和算法其實和語言沒有太大關系,編程語言只是我們實現算法的工具。這里我為你整理了一份常見的你可以嘗試去實現的算法清單:

鏈表類題目:

1.O(1)時間刪除鏈表節點

2.鏈表反轉

3.旋轉單鏈表

4.查到倒數第K個鏈表節點

5.求鏈表的中間節點

6.劃分鏈表使得所有小于x的節點排在大于等于x的節點之前

7.合并有序鏈表

8.刪除鏈表中的重復節點

9.判斷單鏈表是否有環(快慢指針)

10.判斷兩個無環鏈表是否相交

排序算法:

1.快速排序

2.插入排序算法

3.選擇排序

4.堆排序

5.希爾排序

6.基數排序

7.冒泡排序

8.歸并排序

9.二叉樹排序

10.計數排序

11.桶排序

二叉樹:

1.計算二叉樹節點個數

2.求樹的最大層數(深度)

3.最小深度

4.二叉樹的前序遍歷(遞歸算法)

5.二叉樹非遞歸前序遍歷

6.二叉樹中序遍歷(遞歸)

7.二叉樹中序遍歷非遞歸

8.后續遍歷

9.非遞歸后序遍歷二叉樹

10.自下而上分層遍歷

11.從上而下層次打印

12.求第層節點個數

13.求第層的葉子節點個數

14.兩顆二叉樹是否結構相同

15.判斷是否是平衡二叉樹

16.判斷是否是對稱二叉樹

17.求二叉樹的最低公共祖先

18.求二叉樹的長度或者直徑(疑問)·

19.路徑總和II

20.求根到葉子節點數字之和

當這些基礎算法都掌握了,這個時候再去分析JDK里面用到的各種數據結構或者算法,比如說Collections類的sort是采用的什么排序方式(不止一種額,分情況有好幾種);然后再嘗試去分心JDK里面各種數據結構的使用場景,比如說紅黑樹、隊列、堆棧、跳躍表之類的;最后,再去思考或者總結各種算法與數據結構最適用的場景。如果這些你都很清楚了,那么我相信你的是算法與數據結構肯定已經學的很好了。