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