1. 程式人生 > >天人合一之畢設——實踐階段10-尋找其他的benchmark

天人合一之畢設——實踐階段10-尋找其他的benchmark

    為了讓實驗結果有說服力,用一個benchmark(偽)是不夠的。

    4個差不多,也就意味著我要再找3個。

    要求是: 1.較為簡短和符合較常見語法    2.程式中較多malloc(雖然可以手動調整)

    首先就要搞清楚malloc大家一般是什麼時候用,總結我看論壇和帖子裡面寫的,大概是這樣

    要去分配一塊不太清楚大小的記憶體,比如結構體,動態陣列(陣列無法事先確定大小),連結串列節點記憶體的動態分配和釋放等    (當然,你去分配一塊已知大小的記憶體也是可以的)

    當定義一個新指標,並未指向別的記憶體區域,而你後面需要對他進行讀寫訪問,則一定要malloc

    摳破腦門在想有什麼代表性的程式,連續想到了三本書,一個是ACM競賽入門,一個是資料結構,一本是演算法分析與設計

    腦海中湧現出了諸如對連結串列、二叉樹、圖的增刪改查的一些基本操作

    初步查了一下:連結串列最坑的地方在於next指標,node都是malloc一串的,名字一樣但是實際區域不一樣。

    當靜態程式碼裡出現current->next指標時,按照普通的分析方法並不能get到這個next到底指向的是哪塊的記憶體

    二叉樹比較坑的是遍歷方式很多都是用遞迴的來寫的,非遞迴也是設計到棧啊、移動啊,不知道指向哪的問題

    圖有兩種儲存結構,鄰接表和鄰接矩陣,鄰接表當然就是一樣的涉及到next指標咯

    感覺有些麻煩,這裡想到演算法設計裡的一些

    揹包?動態規劃?