Re: [問卦] 既然能上網學程式,還需要讀資工嗎?

作者: willysunny (Willy_Sunny)   2015-06-12 09:56:34
先表態一下, 我不是學資工的, 因為我從小就在摸這些些東西
所以我還頗能夠了解為什麼有那麼多資工系的人會反彈
==== 我是分隔線, 以下是重點 ===
其實補充一點有許多人沒有講到的重點
有人說你會寫字, 但並不代表你會寫詩
這個其實還蠻中肯的, 因為資工有教優化
以下兩個都是做同樣的效果, 都是將數字順序依序排好
但是後者個效率遠比前者大, 這就是所謂演算法帶來的優化
這是資工一生中最追求的東西
// ===============前置準備動作================
// 產生大量的亂數
int a[60000];
for (int i=0, i<60000, i++)
{
a[i]=rand()%60000;
}
// ============版本1-俗稱SelectionSort===============
void SelectionSort(int a[], int array_size)
{
int i;
for (i = 0; i < array_size - 1; ++i)
{
int j, min, temp;
min = i;
for (j = i+1; j < array_size; ++j)
{
if (a[j] < a[min])
min = j;
}
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
// 使用方法: SelectionSort(a, 60000);
// ============版本2-俗稱HeapSort===============
void makeheap ( int x[ ], int n )
{
int i, val, s, f ;
for ( i = 1 ; i < n ; i++ )
{
val = x[i] ;
s = i ;
f = ( s - 1 ) / 2 ;
while ( s > 0 && x[f] < val )
{
x[s] = x[f] ;
s = f ;
f = ( s - 1 ) / 2 ;
}
x[s] = val ;
}
}
void heapsort ( int x[ ], int n )
{
int i, s, f, ivalue ;
for ( i = n - 1 ; i > 0 ; i
作者: ayenliou (阿元元)   2015-06-12 09:58:00
未看先推
作者: jaid (jaid)   2015-06-12 09:58:00
你在八卦貼code會被end吧
作者: Asbarla (木頭)   2015-06-12 09:59:00
建議你再解釋時間複雜度 再帶入code比較完整
作者: m0806449 (老娘~~)   2015-06-12 10:01:00
趕快推 不然會被人家笑說看不懂
作者: willysunny (Willy_Sunny)   2015-06-12 10:01:00
就是要End直接看結尾啊 XDDDD
作者: future108 (千夫所指,萬夫莫敵)   2015-06-12 10:02:00
C++剛好考排序 剛溫蛤
作者: gsm60kimo (超導體)   2015-06-12 10:03:00
程式設計師的價值比不過賣雞排的人..是有這麼一段啦
作者: buke (一坪的海岸線)   2015-06-12 10:03:00
推推 我只會寫氣泡排序QQ
作者: moonshade (一隻歐拉貓)   2015-06-12 10:04:00
資工的知識還是很皮毛,要寫快的程式是要實做的功力同一個演算法不同程度的人做就會差很多倍了像你舉這個例子,數量夠大quick sort會比較快大蓋有個threshold要換algorithm 先quick sort切到夠小換成heapsort...
作者: vn509942 (如履薄冰)   2015-06-12 10:08:00
" target="_blank" rel="nofollow">
作者: moonshade (一隻歐拉貓)   2015-06-12 10:08:00
quick sort 做 multi-thread 也好做...
作者: ymx3xc (U文多多)   2015-06-12 10:08:00
嗯嗯嗯 我也是這麼覺得
作者: pm2001 (做個盾牌眼球兵吧)   2015-06-12 10:08:00
除非很底層 不然都直接拉現成套件來用 哪來時間自己慢慢寫
作者: gofigure (平行世界)   2015-06-12 10:09:00
這種東西在學生時期自爽用的而已等你面對的是一個龐大的專案 重點是整體規劃能力
作者: taimu (?)   2015-06-12 10:09:00
= = "優化"這詞還真是淺移默化 ......
作者: shiningkan (瘋狂阿愷)   2015-06-12 10:10:00
最佳化
作者: shcjosh (來吧!都來吧!)   2015-06-12 10:10:00
網路上的東西入門的很多 但進階的超少 所以想靠網路學起
作者: SuperUp (( ̄▽ ̄#)﹏﹏)   2015-06-12 10:10:00
http://goo.gl/56N0 sqrt函數 每次這話題都會想到這個
作者: shcjosh (來吧!都來吧!)   2015-06-12 10:11:00
我看是很難
作者: moonshade (一隻歐拉貓)   2015-06-12 10:11:00
整體規劃能力是去工作才學的,沒師父教很自學
作者: tank44444 (tank)   2015-06-12 10:11:00
以現在處理器速度 n=60000你用bubble也可以啦
作者: shiningkan (瘋狂阿愷)   2015-06-12 10:15:00
Code的可讀性也很重要
作者: sean3381212 (小白)   2015-06-12 10:18:00
code. 是一門哲學
作者: willysunny (Willy_Sunny)   2015-06-12 10:18:00
舉例而以咩 XD
作者: colawei (就是可樂)   2015-06-12 10:28:00
實戰中這些排序程式沒用 有現成的可用 但精膸很重要
作者: GreenBow (Greenbow Alabama)   2015-06-12 10:28:00
虛支那用語
作者: bill0205 (善良的小孩沒人愛)   2015-06-12 10:28:00
我怎麼有股衝動想要在code最上方加上/*...
作者: lrt89604 (Sazanami)   2015-06-12 10:29:00
軟體工程啊啊啊
作者: seed1132001 (萊恩哈特)   2015-06-12 10:34:00
hello world
作者: mdkn35 (53nkdm)   2015-06-12 11:08:00
結果別人1分鐘拉好原件已經跑出結果 你還在慢慢輸入
作者: ss1h2a3tw (微微甜)   2015-06-12 11:12:00
heap sort 只是基礎
作者: nonedude (dude papa around!)   2015-06-12 11:14:00
跟什麼科系根本沒關係 有些人唸完還不是寫得很爛看過一個118畢業的 PLC寫的跟鬼一樣 後來接手超痛苦

Links booklink

Contact Us: admin [ a t ] ucptt.com