--- tags: 演算法, 110-2 --- # 演算法作業 HW8 - 本週影片只介紹兩個問題,只是第一個問題的影片長達90分鐘,第二個問題的影片長達45分鐘。大家辛苦了。 - 本週程式題都很類似,都與二元樹有關,由不同Traversal(尋訪)的結果來建構二元樹。答案有90成的相似度,因為使用遞廻,所以都很短小,不到10行。 # 觀念題 :book: ## 第1題: Voronoi Diagram - 請畫出下圖兩個VD合併結果,畫出新建立的線段(註明為哪兩點的中垂線),並說明簡述流程。 ![](https://i.imgur.com/WYd0eSR.png) ## 第2題: Voronoi Diagram的應用 - 請說明The Euclidean all nearest neighbor problem為何,以及如何應用VD來解此問題? ## 第3題: FFT - 當輸入為:{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},請說明如何應用FFT得到結果(只須說明計算過程,不用算出結果)? ## 程式題:[Divide and Conquer](https://leetcode.com/tag/divide-and-conquer/) ## 第4題: 由Preorder與Inorder建構二元樹 [Construct Binary Tree from Preorder and Inorder Traversal - LeetCode](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/) - 關於如何由Preorder與Inorder建構二元樹,可參考[Binary Tree - 演算法筆記](https://web.ntnu.edu.tw/~algo/BinaryTree.html) - 題目給定兩個數列,分別為一個二元樹的Preorder與Inorder,請以此建構原本的二元樹。 :::success 提示:採用遞迴的寫法,先由Preorder找出root,再將二數列分為兩段,依此建構左右子樹 ::: ## 第5題: 由Postorder與Inorder建構二元樹 [Construct Binary Tree from Inorder and Postorder Traversal - LeetCode](https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/) - 題目給定兩個數列,分別為一個二元樹的Postorder與Inorder,請以此建構原本的二元樹。 :::success 提示:採用遞迴的寫法,先由Postorder找出root,再將二數列分為兩段,依此建構左右子樹 ::: ## 第6題:由Pretorder與Postorder建構二元樹 [Construct Binary Tree from Preorder and Postorder Traversal - LeetCode](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-postorder-traversal/) - 題目給定兩個數列,分別為一個二元樹的Preorder與ostorder,請以此建構原本的二元樹。 :::success 提示:可參考[Construct Full Binary Tree from given preorder and postorder traversals - GeeksforGeeks](https://www.geeksforgeeks.org/full-and-complete-binary-tree-from-given-preorder-and-postorder-traversals/) ::: ## 第7題 : 心得 - 請在以下表單填寫對本週(hw8)影片教學和程式作業的問題/收穫/適應程度/心得。 - [https://forms.gle/3FqW22n3ViN98jbZ9](https://forms.gle/3FqW22n3ViN98jbZ9)