談一談程序員的成長過程[1]
我覺的程序員的成長速度取覺于兩點(diǎn):
第一:基礎(chǔ)知識(shí)。
第二:后天的努力。
本人以一個(gè)例子說明基礎(chǔ)知識(shí)對(duì)于程序員發(fā)展的重要性:
分油問題:
兩個(gè)小孩去打油,一人帶了一個(gè)一斤的空瓶,另一個(gè)帶了一個(gè)七兩和一個(gè)三兩的空瓶。原計(jì)劃各打一斤油,可是由于所帶的`錢不夠,只好合打了一斤油,在回家的路上,二人想平分這一斤油,可是又沒有其它工具。現(xiàn)只用這三個(gè)瓶子(一斤、七兩、三兩)精確地分出兩個(gè)半斤油來。
當(dāng)時(shí)我看到這個(gè)問題,在紙上畫了一陣,一頭霧水。最后只有放棄,正確的答案思路是這樣的:
通過分析題目并結(jié)合深度優(yōu)先、廣度優(yōu)先和迭代加深搜索的算法的特點(diǎn)以及有缺點(diǎn),這里選擇廣度優(yōu)先算法來求解該分油問題。如果采用深度優(yōu)先算法搜索,由于其盲目性導(dǎo)致搜索陷入局部陷阱,并不一定能求得解即使得到解也不一定是最優(yōu)解,因此并不采用此算法。迭代加深搜索則是在固定的深度上進(jìn)行深度和廣度搜索結(jié)合的策略來進(jìn)行搜索,這樣避免了單一的深度搜索無法得到解的缺點(diǎn),但是找到的解并不一定是最優(yōu)解。廣度優(yōu)先以犧牲空間代價(jià)和時(shí)間代價(jià)來換取保證取得最優(yōu)解。由于該問題并不復(fù)雜,即使使用廣度優(yōu)先算法也不會(huì)占有太多的空間和時(shí)間,因此為了取得最優(yōu)解這里選擇廣度優(yōu)先算法來求解。
原來是應(yīng)用了數(shù)據(jù)結(jié)構(gòu)中的算法。如果你在大學(xué)期間沒有上好數(shù)據(jù)結(jié)構(gòu)這課的話,這個(gè)問題要想解決可能存在不小的問題,起碼本人就是其中的一個(gè)。
本人是自考出生,學(xué)習(xí)期間難免沒有正規(guī)在校學(xué)生學(xué)的系統(tǒng),起碼學(xué)習(xí)環(huán)境上比較差。學(xué)習(xí)期間學(xué)了C,數(shù)據(jù)庫原理,數(shù)據(jù)結(jié)構(gòu),但印象都不深,自己根本就不太會(huì)編寫C程序,只是明白些基本的語法。至于數(shù)據(jù)結(jié)構(gòu)這方面當(dāng)然就只算是聽過課,談不上理解,更談不上實(shí)際應(yīng)用。例如比較經(jīng)典的算法題;大牛生小牛的問題,如果你對(duì)遞歸算法沒有特別深入的理解的話,你很難想到用遞歸算法去解決。想到用什么方案后,你的問題基本已經(jīng)解決一半。
在一次去書店的時(shí)候,我發(fā)現(xiàn)在有的書名叫asp.net,我覺的好奇,因?yàn)槲覍W(xué)的是ASP,覺得asp.net非常有意思,當(dāng)時(shí)看了下內(nèi)容,一下子就被DataGrid強(qiáng)大的功能給征服了,因?yàn)槲野l(fā)現(xiàn)用DataGrid可以非常方便的實(shí)現(xiàn)分頁,當(dāng)時(shí)馬上決定學(xué)習(xí)。net,就這樣我開始認(rèn)識(shí)。net,當(dāng)然主要是ASP.NET這方面。
剛開始在工作中應(yīng)用DataGrid,分頁特別爽,不用寫太多的代碼,后來同事告訴我說這種要頁方式不好,是假分頁。后來經(jīng)過指點(diǎn)才知道,DataGrid分頁的原理,知道了它的原理后你才知道它的優(yōu)點(diǎn)和缺點(diǎn),才能寫出以后的自定義分頁。.net編程并不是簡單的拖放幾個(gè)服務(wù)器控件,要清楚服務(wù)器控件是如何運(yùn)行的,如何自定義服務(wù)器控件,以及擴(kuò)展原有的控件。
【談一談程序員的成長過程[1]】相關(guān)文章:
談一談速錄的就業(yè)方向09-25
PHP程序員的技術(shù)成長規(guī)劃范文11-22
孩子成長過程中的心理問題不容忽視12-13
孩子成長過程中不容忽視的心理問題12-13
論文的發(fā)表過程10-31
開發(fā)游戲的過程08-29
新加坡留學(xué)的過程09-29
創(chuàng)建公司的過程11-10
績效溝通的過程09-18
拓展訓(xùn)練的過程08-20