兩者對比
1. 邏輯結(jié)構(gòu)2. 存儲結(jié)構(gòu)說明:存儲結(jié)構(gòu)有四種,但是最終的存儲方式只有順序存儲和鏈?zhǔn)酱鎯煞N。
1. 順序存儲int array[6]={1,2,3,4,5,6}; // 定義數(shù)組并初始化
printf{"%d\n",array[3]}; // 隨機訪問第4個元素
說明:地址相當(dāng)于指針取值。下標(biāo)相當(dāng)于隨機訪問。
2. 鏈?zhǔn)酱鎯?p>說明:前一個節(jié)點存放下一節(jié)點的指針。
// 僅做示例,無法運行
Typdef struct Lnode{ElemType data;
struct Lnode *next;
}Lnode,*LinkList;
Lnode *L;
L=(LinkList)malloc(sizeof(Lnode));
A->next=B;B->next=C;
3. 順序存儲與鏈?zhǔn)酱鎯Ψ治?p>第二節(jié):算法的評價(時間復(fù)雜度與空間復(fù)雜度)
1. 算法定義算法定義是對特定問題求解步驟的描述。
一個基本算法包括:有窮、確定、可行、輸入、輸出。
2. 時間復(fù)雜度時間復(fù)雜度是指算法中所有語句的頻度(執(zhí)行次數(shù))之和。記為:
T(n)=O(f(n))
其中,n是問題的規(guī)模;f(n)是問題規(guī)模n的某個函數(shù)。
隨著問題規(guī)模n的增大,算法執(zhí)行時間的增長率和f(n)的增長率相同(正相關(guān))。
常見的時間復(fù)雜度:
最高階數(shù)越小,說明算法的時間性能越好。
例題:
時間復(fù)雜度計算忽略高階項系數(shù)和低階項。
思考:如果一個算法的執(zhí)行次數(shù)為3n^3+5n,那么該算法的時間復(fù)雜度是多少?
答案是O(n3),因為忽略了高階項系數(shù)3,和低階項5n,剩余n3。
3. 空間復(fù)雜度空間復(fù)雜度S(n)指算法運行過程中所使用的輔助空間的大小。記為:
S(n)=O(f(n))
除了需要存儲算法本身的指令、常數(shù)、變量和輸入數(shù)據(jù)外,還需要存儲對數(shù)據(jù)操作的存儲單元。
若輸入數(shù)據(jù)所占空間只取決于問題本身,和算法無關(guān),這樣只需分析該算法在實現(xiàn)時所需的輔助單元即可。
算法原地工作是指算法所需的輔助空間是常量,即O(1)。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
文章題目:【408篇】C語言筆記-第九章(數(shù)據(jù)結(jié)構(gòu)概述)-創(chuàng)新互聯(lián)
URL標(biāo)題:http://m.rwnh.cn/article20/dggejo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、品牌網(wǎng)站制作、微信公眾號、標(biāo)簽優(yōu)化、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容