當前位置:學問君>人在職場>就業指導>

談一談程序員的成長過程[1]

學問君 人氣:1.95W

我覺的程序員的成長速度取覺於兩點:

談一談程序員的成長過程[1]

第一:基礎知識。

第二:後天的努力。

本人以一個例子說明基礎知識對於程序員發展的重要性:

分油問題:

兩個小孩去打油,一人帶了一個一斤的空瓶,另一個帶了一個七兩和一個三兩的空瓶。原計劃各打一斤油,可是由於所帶的`錢不夠,只好合打了一斤油,在回家的路上,二人想平分這一斤油,可是又沒有其它工具。現只用這三個瓶子(一斤、七兩、三兩)精確地分出兩個半斤油來。

當時我看到這個問題,在紙上畫了一陣,一頭霧水。最後只有放棄,正確的答案思路是這樣的:

透過分析題目並結合深度優先、廣度優先和迭代加深搜尋的算法的特點以及有缺點,這裏選擇廣度優先算法來求解該分油問題。如果採用深度優先算法搜尋,由於其盲目性導致搜尋陷入局部陷阱,並不一定能求得解即使得到解也不一定是最優解,因此並不採用此算法。迭代加深搜尋則是在固定的深度上進行深度和廣度搜尋結合的策略來進行搜尋,這樣避免了單一的深度搜尋無法得到解的缺點,但是找到的解並不一定是最優解。廣度優先以犧牲空間代價和時間代價來換取保證取得最優解。由於該問題並不複雜,即使使用廣度優先算法也不會佔有太多的空間和時間,因此爲了取得最優解這裏選擇廣度優先算法來求解。

原來是應用了數據結構中的算法。如果你在大學期間沒有上好數據結構這課的話,這個問題要想解決可能存在不小的問題,起碼本人就是其中的一個。

本人是自考出生,學習期間難免沒有正規在校學生學的系統,起碼學習環境上比較差。學習期間學了C,數據庫原理,數據結構,但印象都不深,自己根本就不太會編寫C程序,只是明白些基本的語法。至於數據結構這方面當然就只算是聽過課,談不上理解,更談不上實際應用。例如比較經典的算法題;大牛生小牛的問題,如果你對遞歸算法沒有特別深入的理解的話,你很難想到用遞歸算法去解決。想到用什麼方案後,你的問題基本已經解決一半。

在一次去書店的時候,我發現在有的書名叫,我覺的好奇,因爲我學的是ASP,覺得非常有意思,當時看了下內容,一下子就被DataGrid強大的功能給征服了,因爲我發現用DataGrid可以非常方便的實現分頁,當時馬上決定學習。net,就這樣我開始認識。net,當然主要是這方面。

剛開始在工作中應用DataGrid,分頁特別爽,不用寫太多的代碼,後來同事告訴我說這種要頁方式不好,是假分頁。後來經過指點才知道,DataGrid分頁的原理,知道了它的原理後你才知道它的優點和缺點,才能寫出以後的自訂分頁。編程並不是簡單的拖放幾個服務器控件,要清楚服務器控件是如何執行的,如何自訂服務器控件,以及擴展原有的控件。