亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

php語言

學(xué)習PHP的過程何時可以數(shù)據(jù)結(jié)構(gòu)和算法

時間:2025-04-20 06:06:23 php語言 我要投稿
  • 相關(guān)推薦

學(xué)習PHP的過程何時可以數(shù)據(jù)結(jié)構(gòu)和算法

  學(xué)習PHP的時候,什么階段才可以學(xué)數(shù)據(jù)結(jié)構(gòu)?這個問題其實不只是學(xué)習PHP,也是其他語言。

學(xué)習PHP的過程何時可以數(shù)據(jù)結(jié)構(gòu)和算法

  關(guān)于這個問題一定不要瞎跟風,一定不要超前,也就是說不要看到網(wǎng)上別人說這個重要就馬上去學(xué),也不要看到別人說它很抽象,很難,就不去學(xué)?偟膩碚f,這個玩意是要學(xué),而且必須學(xué),關(guān)鍵是什么時候?qū)W?怎么學(xué)?

  如果沒有學(xué)好該語言的基礎(chǔ),就不要學(xué)數(shù)據(jù)結(jié)構(gòu)和算法,否則你學(xué)了許久,不但華而不實,派不上用武之地,還極大的打擊你學(xué)習興趣。

  比如舉個例子:學(xué)PHP2年多的人,你在公司開發(fā)項目中,用的是比如PHPCMS,你什么時候用過大學(xué)教材上教的數(shù)據(jù)結(jié)構(gòu)中圖的算法?或者哈夫曼算法?但是你卻可以勝任公司的許多用PHPCMS開發(fā)的項目,工資可能還不低。

  反過來,你哪怕背熟了漢諾塔這些復(fù)雜的算法,但是你沒時間學(xué)PHP以及PHPCMS,你去應(yīng)聘PHP開發(fā)職位,你覺得會有幾個給發(fā)面試通知?你的簡歷上就只能寫“精通數(shù)據(jù)結(jié)構(gòu)和算法”,但是拍不上實戰(zhàn)用途上,結(jié)局也很可能挺尷尬的。

  別人學(xué)文科的連數(shù)據(jù)結(jié)構(gòu)是什么都不知道,照樣能找工作,別人就不找需要數(shù)據(jù)結(jié)構(gòu)的工作嘛。這就說明了:找工作甚至是PHP之類的開發(fā)應(yīng)用領(lǐng)域的工作是和需求直接掛鉤的,工作中用到了什么才會需要該方面的人才。

  所以,學(xué)不學(xué)數(shù)據(jù)結(jié)構(gòu),要看你以后想找的工作崗位需要不需要。如果你是想找個PHP快速開發(fā)項目的工作各位,1年后崗位上需要的框架你用的很熟練,你是很可能當技術(shù)經(jīng)理的。但你可能并沒有用到數(shù)據(jù)結(jié)構(gòu)中那些復(fù)雜的算法。

  所以有一個誤區(qū),那就是:但凡要學(xué)習PHP,就得要先吃透數(shù)據(jù)結(jié)構(gòu)和算法,還局限于書本上寫的那幾個算法,如:哈夫曼算法,哈希算法,等等...誰不學(xué)這個誰就不會開發(fā)項目...之類的。

  所以一聽到很多初學(xué)者,連PHP的基礎(chǔ)都沒學(xué)會,連面向?qū)ο蠖紱]搞懂,連模板解析引擎也沒搞懂,連動態(tài)標簽都搞不清為什么要有,連Laravel都不能開發(fā)出一個完整項目出來,一來就在啃數(shù)據(jù)結(jié)構(gòu)這本書,這純粹是“華而不實”的舉動。

  這是學(xué)給別人看的,讓別人看到你有多么的“高深”。其實為什么要學(xué)它,用在什么地方,估計他自己也搞不清楚。這樣的學(xué)習嚴重脫離了實際,如果導(dǎo)致你找工作麻煩,難勝任工作需求,也是十分正常的。因為你學(xué)歪了。就像你精通歷史,但是卻是在找或者在做化學(xué)的工作,然后你跟別人說“歷史很重要...”。

  所以:上面得出的建議就是:工作或者未來的工作用不到,那就暫時不需要學(xué)數(shù)據(jù)結(jié)構(gòu)。

  那么,什么時候應(yīng)該學(xué)數(shù)據(jù)結(jié)構(gòu)呢?

  那自然是用到了才需要學(xué)。什么時候用到?像數(shù)據(jù)結(jié)構(gòu)中的排序,這些在PHP中都已經(jīng)對數(shù)組集成了這些方法,一個sort()即可搞定,你還有必要自己來寫個嗎?相信你要做個對從數(shù)據(jù)庫中提取的結(jié)果集進行排序的時候,你首選的會是那些庫函數(shù)吧,不會自己再寫個排序的算法吧,因為你在重復(fù)造輪子了。

  很多人大夸特夸那些復(fù)雜算法如何如何的重要,試問你工作了幾年P(guān)HP,你何曾用到哈夫曼算法在你的項目中?哈希算法?漢諾塔算法?在PHP中你自己寫過鏈表嗎?寫了你用在了什么地方?你不需要寫,因為都寫好了。

  PHP的數(shù)組就是動態(tài)的,就是鏈表實現(xiàn)的,你還用得著寫嗎?別人庫函數(shù)寫的比你高效很多,考慮了更多的情況。你寫的那種只考慮一般的動態(tài)數(shù)組能派上用場嗎?除非沒有,你才必要去寫。比如對網(wǎng)站欄目的遞歸處理。在開發(fā)領(lǐng)域中很多都是拿來主義,因為就是要減少重復(fù)造輪子。

  只有當你從頭到尾的寫一個框架的時候,你才可能用到。但是又有幾個在寫自己的框架呢?到真正需要的地方又會看到很多人這樣的言論:框架不是有了嗎?如:TP,如:Laravel;就連開源系統(tǒng)都可以舉出十多個常用的優(yōu)秀的。知道這個,那么試問:你學(xué)的那些復(fù)雜算法又有什么意義?

  所以:上面得出的建議就是:如果你想鉆研框架的開發(fā),開源系統(tǒng)的開發(fā),那再去學(xué)數(shù)據(jù)結(jié)構(gòu)和算法的深入的東西。否則,學(xué)了,你根本用不到。還是把它該學(xué)的先學(xué)會吧,如面向?qū)ο,如面向切面,如模板解析引擎,如緩存處理,如負載均衡,如集群,如Linux。

  至于怎么學(xué)數(shù)據(jù)結(jié)構(gòu)?

  當你可以到要學(xué)數(shù)據(jù)結(jié)構(gòu)的時候了,該怎么學(xué)呢?其實它就融在了你的日常生活中......

  比如:如果你開發(fā)一個項目的過程中需要對提取的文章進行從1開始的打印。而你遍歷的時候索引是從0開始,那么你只要加個1就可以實現(xiàn)。

  在需要對偶數(shù)行進行標紅的時候,你只要對2取余,看結(jié)果是0還是1,這其實就是算法,那么何謂算法?就是解決問題的思考途徑,這樣才會出現(xiàn)偽算法的概念,那就是用中文或者英文把解決過程先寫出來,然后才會去用某種語言去實現(xiàn)。

  至于書上描述的那些算法,是用在比如開發(fā)編譯性能,操作系統(tǒng)隊列任務(wù)的分配等底層領(lǐng)域,你以后要做底層驅(qū)動開發(fā)嗎?你要寫編譯器嗎?你要寫瀏覽器嗎?如果不想,那你死啃那些書籍有什么現(xiàn)實意義?

  所以:不要狹隘的認為數(shù)據(jù)結(jié)構(gòu)和算法就是某本大學(xué)教材上羅列的那幾個抽象的解題代碼。這太狹隘了。那些其實更多的被許多“不學(xué)無術(shù)”的人用來做“學(xué)術(shù)顯擺”罷了,這也侮辱了真正編程前輩們的宗旨。相信你周圍也有那些人,對,就是那些人。

  得不到就說一堆你聽不懂的專業(yè)術(shù)語,讓你聽的云里霧里,方能獻出他比你優(yōu)秀許多。讓你“崇拜不已”。這就達到了他“虛榮”的目的。其實很多公司里的技術(shù)人員很多都是這樣的漂浮心態(tài)。總喜歡拿那些讓你聽不懂的來震懾你,這樣你就不敢繼續(xù)深究他的技術(shù)實力了...僅此而已。

  其實這也涉及到了技術(shù)教學(xué)和技術(shù)開發(fā)是兩個不同的發(fā)展方向。前者就是要用通俗易懂的內(nèi)容讓你學(xué)的容易,后者就是要讓你看不懂,才能顯出他比你優(yōu)秀。這就是很多技術(shù)高手為什么不懂技術(shù)教學(xué)的原因。這個話題以后在說。

  那么,什么是真正的數(shù)據(jù)結(jié)構(gòu)和算法呢?真正有實際意義的數(shù)據(jù)結(jié)構(gòu)和算法其實是你身邊所用到而沒注意到的。這么說吧,你在開發(fā)中所創(chuàng)造的數(shù)據(jù)類型,如:int,char,字符串類型,結(jié)構(gòu)體類型,類類型就是數(shù)據(jù)結(jié)構(gòu)。

  而你對他們的增刪改查,排序,構(gòu)造出鏈表從而形成動態(tài)數(shù)組,如何提取某個成員,其實就是算法。更往上走就是組合這些基礎(chǔ)的去和實際問題的解決方案去結(jié)合。所以:那些比如漢諾塔算法其實也就是一種應(yīng)用罷了。

【學(xué)習PHP的過程何時可以數(shù)據(jù)結(jié)構(gòu)和算法】相關(guān)文章:

Java數(shù)據(jù)結(jié)構(gòu)和算法筆記10-18

PHP紅包算法11-04

php經(jīng)典算法介紹10-05

PHP經(jīng)典算法題09-05

php算法學(xué)習之動態(tài)規(guī)劃08-18

PHP算法學(xué)習之分治法09-13

PHP幾個經(jīng)典算法題10-27

PHP的樹形結(jié)構(gòu)算法07-06

php算法學(xué)習之寬度優(yōu)先搜索07-29