※ [本文轉錄自 Programming 看板]
發信人: "Cheng-jen Tang" <ctang@ttu.edu.tw>, 看板: Programming
標 題: Re: 想要靠c語言吃飯真的要學資料結構嘛........感謝
發信站: 大同大學電機工程系 (Thu May 16 08:32:56 2002)
轉信站: Ptt!news.ntu!freebsd.ntu!netnews.csie.nctu!news.ee.ttu!not-for-mail
"考試......." <worship.bbs@ccbbs.tmtc.edu.tw> 撰寫於郵件新聞
:40KN5T$byp@ccbbs.tmtc.edu.tw...
> : 本來懶得回的,不過這個來源是八舍吧?
> : 八舍?竟然已經是十八年前的事了,當時還不滿十八歲呢!
> : 不過,拜託一下好嗎?你用不用副程式?或 function?那你用到了堆疊。
> : 你用不用字串?陣列?你是否輸入資料?你是否寫網路程式?開 socket?
> : 那你用到了佇列。你開檔,讀檔,寫檔,使用檔案,那你用到了 Linked-list。
> : 這些祇是比較明顯的應用而已。根本上來說,你只要寫程式,躲不掉資料結構。
> : 這不是見仁見智的問題,而是目前計算機運作的問題。
> 我想這位同學妳是誤會了,
> 我說的資料結構是比較偏檔案處理,諸如hashing or b-tree之類的,
> 而且就算是binary tree在一般寫程式時好像不常用到,
> 開檔、讀檔、寫檔這些不算資料結構吧,
> 這些是程式語言的基本用法,
> 另外,寫程式姑且不論演算法好壞,
> 只要妳時間夠多,
> 就算是要用到遞迴的,妳也可以用一堆function來處理,
> (像之前寫b-tree時就曾嚐試過)
> 至於Linked-List,一般來說是為了寫程式省空間,
> 只要妳記憶體夠大,其實用一堆陣列來存也可以,
> 所以我還是那句話,這問題見仁見智^^
我不是同學很久了,我是教資料結構的老師,也是交大的校友。
我在網上會注意一些與我課程相關的文章,因為我是蠻贊成學生在
網上找資料的,有些有問題的文章我是一定是會去釐清的,避免我
的學生有所困擾。
我想你上課應該都沒在聽課,不過也沒關係,反正你不是我學生。
就以上一些觀念與目前ACM建議之資料結構課程綱要相衝突的列舉
如下: 事實上是每一句話都有問題。
> 我說的資料結構是比較偏檔案處理,諸如hashing or b-tree之類的,
Hashing 將星布的資料區間利用 Hash function 呈現在較小的區間之內,
你當然可以用在檔案的處理上,但任何的資料處理有此特性也都能被運
用。B-Tree 的確在 Secondary Storage 的資訊儲存上降低 access 時間有其
獨到處,但僅限於檔案的處理也就失之偏頗了。
> 而且就算是binary tree在一般寫程式時好像不常用到,
Binary Tree 與 B-Tree 搞清楚一下。
”...諸如hashing or b-tree之類的,而且就算是binary tree在...”給我的感覺
是你認為兩者是同一個東西,不要鬧這種笑話好嗎?
> 開檔、讀檔、寫檔這些不算資料結構吧,
你開檔,讀檔,寫檔,使用檔案,那你用到了 Linked-list。不用跟我辯說
有些檔案系統的節點結構是一個 Tree。先把 Linked-list 與 Tree 的關係搞清
楚再說。
> 這些是程式語言的基本用法,
誰跟你提程式語言了?
> 另外,寫程式姑且不論演算法好壞,
寫程式不論演算法好壞,又是誰教你的?
> 只要妳時間夠多,
我不是女生,而且早已過了十七。所以時間永遠不夠多。
> 就算是要用到遞迴的,妳也可以用一堆function來處理,
就算..也... 的句型,套在”遞迴”與”function”上?
”就算要用到遞迴,也可以用 function”這是甚麼話?
不然你要怎樣做遞迴?還好不是你老師,否則真的會被氣死。
> (像之前寫b-tree時就曾嚐試過)
甚麼叫”寫b-tree”?只是運用 B-Tree 這個資料結構罷了。
> 至於Linked-List,一般來說是為了寫程式省空間,
Linked-list 比 Array 省空間?同學,不要鬧了。
> 只要妳記憶體夠大,其實用一堆陣列來存也可以,
在不壓縮的狀況下,陣列的空間 Overhead 會比其他資料結構大?
真的,上課用點心好嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.43.70.140