2011/9/30

資訊學院的30堂課-資料結構 Data Structure

Data Structure說是資訊學院的精華所在,如果有人反對,應該不是唸CS的吧。長官又指定一個其他組員搞不定的工作過來了,任務是因應組織調整,變動人事資料表,但是資料來源是LDAP,沒有開發大量讀取的權限,最棘手的是,資料來源不是常見的關聯式資料,如Oracle或Informix,不單單是搞定ODBC Driver就ok了,那該怎麼辦呢?
--

Data Structure說是資訊學院的精華所在,如果有人反對,應該不是唸Computer Science的吧。鏈結串列、Binary Tree、B-Tree、in-order、pre-order、post-order、recursive,等等不但是程式設計的延伸,還必須承接後續高年級課程,如人工智慧要用到決策樹,不但是計算機概論常出考古題的所在,在考研究所或國家考試時,也常是必選科目。

長官指定一個其他組員搞不定的工作過來了,任務是因應組織調整,變動人事資料表,但是資料來源是LDAP,沒有開放大量讀取的權限,一次只能抓一筆,最棘手的是,資料來源不是常見的關聯式資料,如Oracle或Informix,不單單是搞定ODBC Driver就ok了,那該怎麼辦呢?

我先到書局罰站了一下,帶回了一本Visual C++的書,然後我引入ladp的dll,連上ldap主機,先抓取一筆人員資料看一下,我所要的姓名、組織代碼,年齡,電話甚至學歷都有,另外再抓取一筆單位資料,發現了裏頭有上層組織的代碼,這不就是樹狀結構,這時候,求學時代所學的Data Structure就派上用場,要dump出來有兩個做法,一個是先深(DFS),一個是先淺(BFS),我比較懶惰,不想去寫queue或是找STL,我就利用遞迴呼叫就是一種堆疊的觀念,實作先深尋訪,抓出了六個分公司當root,呼叫完遞迴後,就成功的完成了這個專案,再排入這個AP後,後來的組織整併,就與我們沒有關係了,因為都自動處理好了。

昨天在PTT的Soft_Job板上爬文,看到有人抱怨,上104找來的面試的人,DFS與BFS都搞不清楚,還好至少我還記得修課時教什麼,因為期中考考過BFS。

沒有留言:

張貼留言