Fw: [心得] 資工系 資料結構 韓永楷
※ [本文轉錄自 candog 信箱]
作者: candog.bbs@bbs.cs.nthu.edu.tw ("FireBolt")
標題: [心得] 資工系 資料結構 韓永楷
時間: Wed Feb 15 01:32:32 2017
作者: flere (小羊) 站內: nthu.course
標題: [心得] 資工系 資料結構 韓永楷
時間: 2011/06/29 Wed 23:59:26
課名: 資料結構 (Data Structure)
科號: 09920CS 235101
老師: 韓永楷
課本: 1. Introduction to Algorithms, 3rd edition, MIT Press.
By T. Cormen, C. E. Leiserson, and R. L. Rivest (演算法我沒買)
2. Fundamentals of Data Structures in C++, 2nd edition, Silicon Press.
By E. Horowitz, S. Sahni, and D. Mehta (基礎資料結構,我也沒買XD)
課別: 資工系必修,電資院學士班核心選修
學分: 3
涼度: ★★★★★★....(反正不點名嘛~
甜度: ★★★★★★....(因為我覺得我第一次考試63期末總分還94....
建議先修課程:
基本上是沒有啦~
不過作業coding部分最好是有修過普通程式設計會比較好一點優~
課程內容\簡介:
課程內容
1. Growth of Functions
這邊主要就是講資工系對時間複雜度的看法,雖然他會講很多個,可是
其實重要的只有big-O而已啦我覺得!!
2. Heaps && sorting
老師一開始會教很多sorting的方式
比如說有~
bubble,insertion,selection,merge,quick,heaps(不知道有沒有少列
我覺得老師似乎很注重merge (他講好久Zzz~)
可是我本身從來不寫merge的QQ
然後他也非常喜歡heaps....
好啦我承認他喜歡的我都沒用過啦XDD
我覺得真正要學並且實作的的嘛....
大概就是最好寫的bubble(因為太簡單了他一下就帶過了XD
不然就是C內建的quick sort了(可是老師著墨很少
以上兩個都很實用,只是在DS的課程裡沒什麼好討論的
所以老師才對heaps跟merge講很久吧
3. Lists, Stacks, and Queues
老師會先介紹pointer,可是有修過程式設計的應該都會,所以這邊他不會拖很久
然後介紹最簡單的linked list,這也沒說很久
進入重頭戲吧~
老師會仔細介紹stack && queue的不同
stack-->就像一個箱子,你先進去的被放在最底部,越後面的在越上面
queue-->就像排隊,你先排的可以先出去,後排的就要等比較久
這邊老師還會介紹運算式的前序後序中序的寫法
比如說
2+3-->中序
+23-->前序
23+-->後序
這邊會出一個作業要同學寫程式
這一階段的作業分成2次(1.2為同一次,3為另外一次)
1.其中一題是要用學到的東西做出大數加減乘法
比如說9999999999999*9999999999999=?
2.還有他給你一串後序表示法的式子,要你算出他的答案是多少
比如說 2 3 + 答案是多少?
3.還有一題是給妳中序要你轉後序
比如說 2 3 +轉成中序為2+3
4. Trees and Graphs
這邊會介紹最基本的樹跟圖形
然後會教DFS跟BFS
還有preorder,inorder,postorder
前序 中序 後序
也就是說!!
你把算是做成運算式樹後,
做前序-->得到前序表示
做中序-->得到中序表示
做後序-->得到後序表示
阿不過這邊我覺得最重要的DFS他卻沒有講很久> <
該不會我覺得重要的點都很不重要吧QQ
然後很奇怪的是
他也沒有介紹euler circuit (由拉回路
也沒有介紹dijkstra algo (P2P最短路徑 (另一班有講
沒有好好介紹這兩個讓我有點小失望
===============================================================
基礎的說完之後就要進入本學期最精華了喔!!!
他要介紹BST跟AVL了!!
BST-->binary serch tree
他就是你在放資料的時候(建立這棵樹的過程
比較小的放左邊,比較大的放右邊
如此一來,你要搜尋跟排序都會變得很方便!!
不過有個缺點就是如果你的數字是1 2 3 4 5 插入的話
那他會變得極度不平衡(因為數字都一直變大結果都插在右邊-->變成普通List
為了解決這個問題!!
於是就產生了AVL tree了!!!
這邊版面有限說不了太多XD
簡單來說AVL就是會旋轉的BST而已~所以會變平衡(高度會變矮
然後這邊會有一次作業要你寫出AVL
只要做insert跟search就可以拿到100了
不過如果你可以做出delete功能的話可以再加20%喔~
===============================================================
之後會講B-tree
(就是有很多個child的tree啦~
5. Hashing
hashing則是會教你要怎麼把資料存好,才會比較好找
舉一個簡單的例子
假設a,b,c,d,e分別為3,5,7,11,13
當你存入ace時你就把他放在3+7+13=23那一格
bc就放在5+7=12那一格
所以假設你要找abc存不存在,你就去3+5+7=15那裏面看看有沒有abc就好囉~
我覺得是類似把你的資料編碼的一種技巧啦~
作業內容
作業占45%喔~共6次~
然後coding跟紙本剛好一半一半~
不過我覺得她作業難度分布很不平均> <
你會覺得打了好久也是7.5%
紙本不用多久就寫完也是7.5%QQ
最誇張的就是final project只占10%啦QQ
要打粉久餒> <
簡單介紹一下紙本作業跟fianl project吧(coding在上面講過了優~
1.紙本作業
紙本作業基本上都可以在1.5個小時內完成吧
上課有仔細聽這不會是什麼大障礙,很快就可以完成的~
2.coding
阿你不是說上面講過了XD
沒有啦我想說一下大概難度跟完成的時間
基本上難度因人而異,有人很快打完,有人根本打不出來
打出來的也紛很多種阿~
有的打很快,有的打得很精簡也是百百種XD
3.final project
我們這次是做通訊錄,不過似乎每年不太一樣就是了XD
考試內容
考試內容嗎~其實我看一看他只會考以下幾種
1.考演算法,不過一定可以用上課教的東西做出來
2.考一些計算跟畫圖(你紙本作業都會寫就一定沒問題
3.要你手寫code(不過都是不會很難的部分,只會叫你寫出一小段而已
上課方式:
老師上課都是用英語上喔!!!
不過老師的英語不會很艱深,基本上應該都可以聽得懂順利上課才對~
老師上課前會先用中文講一些益智遊戲
所以如果你遲到了發現老師還在用中文說話,
那就表示你沒有delay到任何進度啦XD
老師上課還滿有趣的,大部分的時間都很有趣
不過還是會有少部分讓人無聊的時間就是了~
然後上課老師有時候會說n minutes break要給同學討論
或是問助教問題
可是其實很多人都是用來補眠或是聊天啦XD
然後老師教完一點就會問大家聽得懂嗎?
聽得懂的請舉手
如果太少人舉老師就會再講一次
所以一定會教到你會的啦~
給分:
應該算很甜吧~
然後也算幾分耕耘幾分收獲啦~
你沒做當然沒分囉~
附上我的作業成績狀態
Title Grade Percentage
Assignment 1 100.00 7.50 %
Midterm 1 63.00 15.00 %
Assignment 2-1 100.00 3.75 % (大數...明顯配分不當阿
Assignment 2-2 100.00 3.75 %
Assignment 3 98.00 7.50 %
Midterm 2 85.00 15.00 %
Assignment 4 110.00 7.50 %
Assignment 6 100.00 7.50 %
Midterm 3 100.00 15.00 %
Assignment 5 120.00 7.50 %
Project (Function) 100.00 10.00 %
Project (Document) 0.95 0.00 %
Total 94.00 100.00 %
老師的喜好、個性:
老師跟同學互動良好
而且老師幽默風趣
我朋友表示老師長的好可愛喔
好像海賊王的大熊
我個人是覺得比較像摩莉亞啦XDD
反正老師人很好上起課來很開心~
阿附註一下
老師在課程大綱上面放的東西~
Remark 1: Last year, approximately 70% of the students passed the course.
The average score is 75.
Remark 2: We normally will not make any score adjustment unless we
have made serious mistakes that affect the assessment.
Good news: It is possible that all students get A.
Bad news: It is possible that we are failing all students.
給加簽嗎?
給阿~都說老師人超好的了XDD
總成績/班上排名:
94(班排應該很後面吧~還沒出來之後補上~
百分比 (人數)
A+ 90~100 21.3% (23人)
A 85~89 20.4% (22人)
A- 80~84 14.8% (16人)
B+ 77~79 11.1% (12人)
B 73~76 7.4% (8人)
B- 70~72 6.5% (7人)
C+ 67~69 3.7% (4人)
C 63~66 2.8% (3人)
C- 60~62 1.9% (2人)
D 50~59
F 1~49 9.3% (10人)
X 0 0.9% (1人)
總人數108人
PS:值得一修的好課!!
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw>
◆ From: flere @ s9962303.YI.ab.nthu.edu.tw
△ onlelonely:推~老師教的很好,分數給的真的很高 06/30 00:29Lqgs
△ snake2:老師是個長得超級可愛的香港人! 06/30 00:55oluG
△ easteast:助教人都超 nice 的 ^ ^ 06/30 01:00olTj
△ bgbgbg0087:推小羊^^ 06/30 07:07olTk
△ tony810430:這學期似乎頗甜 9成以上都過了 而且A+頗多 06/30 13:49wNuv
△ crazyplum:老師超可愛的XD!! 06/30 15:52oltj
△ doctorpi:樓樓上總成績100分神人...外加高程A+ 06/30 15:59mxsz
△ jefflyc2002:推老師超有趣!助教人也都超nice! 06/30 16:22olua
△ Only:總成績94還很後面嗎?@@ 06/30 22:46olub
那不就一半以上A+ XDD
△ easteast:這次有20%的人 A+...非常的甜… 06/30 23:34gxmz
△ easteast:也算是我少數能在第一上課時間,直接理解70%以上的06/30 23:35gxmz
好課,老師長得很像哆啦A夢,很有喜感,而且,上課
英文字正腔圓,非常有精神!!每周都很期待資料結
構的課!! ^ ^
△ otwoeean:好老師必推 07/01 07:35lcyu
△ tyson81833:推小羊~!! 07/02 01:32lkgU
─ proguest:去年當不少欸 平均我覺得只有6出頭吧 07/04 23:34lyWT
△ allencheng07:推樓上室友 07/05 13:58olis
△ SLMT:推室友10與在下導師~~ 07/05 14:09mlbr
△ qoo392:這次很甜,老師用心,助教用心,DS大推 07/05 20:42olUc
─ elioteliot42:去年第一屆的白老鼠QAQ 07/06 18:07srAv
△ OhBye:推,韓老師不點嗎? XD 07/06 22:35olig
─ OhBye:去年的其實也不錯,我還蠻喜歡去年期末專題的模式 07/06 22:36olig
flere 於 2011/07/07 Thu 00:26:37 從 s9960105.CHENG.ab.nthu.edu.tw 修改
─ creier:\簡介: 12/29 10:12lzho
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: candog (140.114.32.68), 02/15/2017 12:15:12