0%

二元樹

題目網址

題意:

有根的二叉樹是具有根節點的樹,其中每個節點最多有兩個子節點。

您的任務是編寫一個程序,該程序讀取有根的二叉樹T並為T的每個節點u打印以下信息:
node ID of u (節點編號)
parent of u (節點父親)
sibling of u (節點兄弟)
the number of children of u (節點小孩數目)
depth of u (節點深度)
height of u (節點高)
node type (root, internal node or leaf) (節點狀態)

閱讀全文 »

根樹

題目網址

題意:

Rooted Trees是連接的,無環的,無向的圖。Rooted Trees是一種自由樹,其中一個頂點與另一個頂點是不同的。Rooted Trees的頂點稱為“節點”。
你的任務是編寫一個程序,為給定的根樹T的每個節點u報告以下信息:
node ID of u (節點編號)
parent of u (節點父親)
depth of u (節點深度)
node type (root, internal node or leaf)
a list of chidlren of u (列出節點小孩)

閱讀全文 »

快速排序

題目網址

題意:

快速排序有三個步驟:
1.挑選基準值:從數列中挑出一個元素,稱為「基準」(pivot)。

2.分割:重新排序數列,所有比基準值小的元素擺放在基準前面,所有比基準值大的元素擺在基準後面(與基準值相等的數可以到任何一邊)。在這個分割結束之後,對基準值的排序就已經完成。

3.遞迴排序子序列:遞迴地將小於基準值元素的子序列和大於基準值元素的子序列排序。

完成排序後檢查出現順序是否依照順序,例如先輸入”D 1”、”H 1”,輸出時若為”D 1”、”H 1”就輸出”Stable”,否則輸出”Not stable”。

閱讀全文 »

快速排序劃分

題目網址

題意:

快速排序有三個步驟:
1.挑選基準值:從數列中挑出一個元素,稱為「基準」(pivot)。

2.分割:重新排序數列,所有比基準值小的元素擺放在基準前面,所有比基準值大的元素擺在基準後面(與基準值相等的數可以到任何一邊)。在這個分割結束之後,對基準值的排序就已經完成。

3.遞迴排序子序列:遞迴地將小於基準值元素的子序列和大於基準值元素的子序列排序。

而這題要做的就是分割這個動作。

閱讀全文 »

索引排序

題目網址

題意:

計數排序可用於對數組中的元素進行排序,用一個陣列來計算元素有幾個,而他的index就是原本的數字裡面存的是出現次數。請利用計數排序排序下列數列。

閱讀全文 »

合併排序

題目網址

題意:

給你N個整數序列S創建一個程序,根據上面的虛擬碼通過合併排序由小到大進行排序。另外,請報告合併中的比較總數。

閱讀全文 »