首發公眾號:bigsai
回復 「bigsai」 領取pdf學習資源,回復「進群」一起打卡力扣成為王者
前言
最近很多小伙伴問我怎么入門資料結構與演算法,又或者怎么刷題,很多人也說自己挺迷茫的,今天結合個人直接和間接經驗給大家一套從頭到尾的建議,當然,本建議如果ACM大佬看到勿噴哈,更建議開發方向的人走這條路,

如果你是大一,學好語言基礎就可以走這條路,如果你是大二,那剛好這條路挺適合你的,如果你是大三,那你最好加速挑選其中精華去完成,如果你是作業或者其他想提升自己,那這是一條很好的路,
青銅白銀(15天)
一步一個腳印,就算他是王者,也曾從青銅一步步爬起,并且咱們青銅并沒有王者的壓力,咱們啥都不懂,啥都只能摸索,如果找不到好的道路確實可能一直青銅很久(哈哈哈你是不是一直青銅呢),讓我們看看如何突破青銅白銀呢?
入門需要哪些語言基礎呢?
輸入輸出、多次輸入、if、for回圈、陣列、字串等+簡單邏輯,
真的這么多就夠了嗎?真的,這個階段目的就是有能力處理簡單邏輯問題,
刷多少題呢?在哪刷呢?這里給你推薦兩個地方,
第一個地方:c語言網 (適合青銅)
c語言網特別適合小小白,前面的題目比較簡單特別適合入門,適合小白中的小白入門,享受ac的感覺,

第二個地方 杭電第11頁(更推薦適合青銅強和白銀)
這里的題目都是記憶,更適合大家入門了,當然,杭電第11頁有100題,沒必要刷那么多題,可以挑著簡單普通的刷一刷,

這個階段大概要刷多少題,需要多久呢?
不宜太久,主要看自己掌握程度,推薦1—2周這樣,當然每天花費時間不同這個周期也不同,刷題量保證在40題左右,如果感覺比較容易可以適當減少,總有那么多天賦好的能輕松脫離青銅白銀打上黃金的也沒辦法對吧,
當然,在這個階段,可能很多老鐵感覺比較難受,因為第一次用計算機的思維去思考問題,可能感覺比較難,但是聽我一句:**挺下去,就好,總能過去的!**可能一道題會花你很久,你可能很難下手,可以嘗試看別人的代碼,看看別人的思路,
黃金鉑金(15天)
這階段在青銅眼里是大佬,在鉆石星耀以上眼中還是小白,這個階段就不是簡單邏輯了,而是涉及一些演算法和邏輯,需要認真考慮思考,
這個階段需要掌握的內容有:Java的List、Map、Set、StringBuilder、Java的api呼叫排序、類排序(comparator介面)、鏈表、簡單貪心、遞回、入門級dp(最多來個暴力)等,
這個部分主要還是鍛煉邏輯,**讓自己有能力處理正常邏輯不太復雜的問題,提高自己的動手和code能力,**讓你有一種能力是見啥都想暴力一下求出來的想法,
當然這個階段也給大家推薦兩個刷題地方:
牛客pat乙級專欄
這里推薦pat乙級的專欄,不是因為pat乙級有多難,而是pat乙級很多處理字串問題挺需要思考和邏輯的,這個程序讓你編碼能力和邏輯能力提升還是很強的,因為我們經常可能真正會遇到一些字符處理,我們需要具備這方面的能力,不推薦去PTA官方刷刷完牛客乙級30題其實就差不多了,這部分可能很多人比較堅辛,
我、我室友等很多人在剛刷很多時候可能半天都不能能做一道題,所以前期遇到困難別放棄,一定要刷完這30題,這里15分題比較簡單,20分一般,25分通常不難但是比較復雜,你懂的,就是那種很麻煩讓你不想動的,但是別偷懶,

杭電部分題目(適合鉑金玩家)
一.字串我要會處理(2天,6題)
? 2072、2081、2093、2091、1004、2057
二.簡單數學題(4天,12題)
? 2031、2033、2070、2071、2075、2089、2090、2092、2096—2099
三.要玩就玩漢諾塔(3天,5題)
? 1995、1996、2064、2077、2175
四.As easy as math(5天,8題)
? 1108、2138、1713、1722、2136、2504、1717、1125
參考自671大佬的整理,當初筆者就是按照這個步驟進行刷的,有些題目挺鍛煉思維,更燒腦一點點,但整體難度還好,
鉆石星耀(30天)
這部分是演算法的進階提升階段,可能你經過這階段節能上和acm大佬說兩句話,下在小白面前裝裝大佬,
這部分需要掌握的內容比較多,我給一些經常遇到的羅列一下:貪心演算法,回溯演算法,dfs,bfs,dp,分治演算法,部分數論演算法(快速冪、歐幾里得、拓展歐幾里得最多了),全排列,快排,歸并排序,偶爾kmp或者母函式,而資料結構則要求掌握各種鏈表操作、二叉樹各種操作,二叉樹各種遍歷(涉及部分操作),并查集,
這里我也給大家推薦兩個刷題地方
杭電部分題(鉆石用戶)
這些題自己曾經都刷過,選了一些感覺質量很好,但我參考了很多大佬做法才ac的,現在把這些題分享給大家,這里多組輸入java快速輸入要了解一下,
按照專題進行刷題:
貪心小欄目:
1008,1009,2037
dp專欄:
1003,1024,1025,1069,1071,1176,1203,1231,1257,1421,2084
迷宮搜索專欄:
1181(多法),1010,1010,1016,1043,1044,1072,1172,1180,1195,1241,1254,1431,1728
并查集:
1181,1232,1272,1325,1722
其他題(試水體驗):
1007分治 2035,1097 快速冪 1686,1711kmp 1002大數 2138素數篩 1061,576拓展歐幾里得

劍指offer精過 (星耀用戶)更推薦
劍指offer67題,題目質量很高,面試問的也很多,出了一些演算法資料結構要求比較高,所以刷劍指offer需要提前有資料結構基礎,并且劍指offer對方法優化的要求很高,所以通過刷劍指offer可以提高自己對時間復雜度的優化和方法的優化,而杭電可能更注重演算法實作上,認真優質刷完劍指offer對自己提升很高,

王者
何謂王者?當以持之以恒,acm大佬可以選擇牛客比賽、vjudge、codeforce,atcoder等比較有名地方打打比賽或者按照專題刷題鞏固,但我還是推薦我的LeetCode,對于開發者來說,力扣是持續陪伴的好伙伴,從陌生到熟悉,而其中題目數量很多,質量也很高,刷透的話無論面試,筆試都不在話下,
所以我心中的王者就是LeetCode+持之以恒,自己也在慢慢上王者,希望有一天能和大家一起上王者!
最后,歡迎加入我們刷題,關注「bigsai」加我微信拉你進力扣打卡群,實作向王者的超越!迷茫?就帶著刷題吧! up!
CSDN認證博客專家
scikit-learn
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/198722.html
標籤:AI
