Try   HackMD

2024q1 Homework2 (quiz1+2)

contributed by <chihen0709>

第一周測驗

題目

測驗1

原本 Quick Sort 會使用遞迴函式將 stack 來去存儲資料,但此實作是使用非遞迴函式的做法來去實作快速排序演算法,優點是相較於原本的快速排序演算法,少了呼叫函式這個步驟減少了進入函式並退出所佔用的處理器時間以及避免使用 stack 去儲存資料,遞迴函式只是將 stack 當作多餘的儲存空間,這樣來說其實沒有比實作中所使用兩個 array : begin[]end[] 兩個 array 速度還快,還可能導致 stack 空間溢出會令呼叫排序的函式崩潰。

透過以上思路:先宣告一個鏈結串列結構體並利用以下函式來去操作。

程式碼運作原理:

node_t *list_tail(node_t **left)
{
    while ((*left) && (*left)->next)
        left = &(AAAA);
    return *left;
}

一開始很直觀的去填寫 left->next

TO DO:完善以下程式碼解釋以及實驗

測驗2

第二周測驗

測驗1

測驗2

測驗3