有关数据结构基础知识(数据结构 严蔚敏版)
1. 數(shù)據(jù)結(jié)構(gòu)是一門研究非數(shù)值計(jì)算程序設(shè)計(jì)中的操作對(duì)象 以及這些對(duì)象之間的關(guān)系和操作的學(xué)科
2. 研究包括邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)
? ?1) 邏輯結(jié)構(gòu)(從具體問(wèn)題抽象出來(lái)的數(shù)學(xué)模型)分為
? ? ? ? ?集合結(jié)構(gòu) 線性結(jié)構(gòu) 樹結(jié)構(gòu) 圖結(jié)構(gòu)(分類依據(jù)是元素之間的關(guān)系不同)
? ?2)存儲(chǔ)結(jié)構(gòu)(也稱物理結(jié)構(gòu) 邏輯結(jié)構(gòu)在計(jì)算機(jī)的存儲(chǔ)表示)分為
? ? ? ? ?順序存儲(chǔ)結(jié)構(gòu) 鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
3. 抽象數(shù)據(jù)類型是由用戶定義 表示應(yīng)用問(wèn)題的數(shù)學(xué)模型 以及定義在這個(gè)模型一組操作的總稱 包括數(shù)據(jù)對(duì)象 數(shù)據(jù)對(duì)象上關(guān)系的集合 數(shù)據(jù)對(duì)象基本操作的集合
4. 算法(為了解決某類問(wèn)題而規(guī)定的一組有限長(zhǎng)的操作序列)
? ? ?算法的五個(gè)特性:有窮性 確定性 可行性 輸入和輸出
? ? ?算法優(yōu)劣的評(píng)價(jià):正確性 可讀性 健壯性(魯棒性) 高效性
5. 算法分析的兩個(gè)主要方面
? ? ?頻度:一條語(yǔ)句重復(fù)執(zhí)行次數(shù);
? ? ?規(guī)模:算法求解問(wèn)題的輸入量;
算法時(shí)間復(fù)雜度(即算法的運(yùn)算時(shí)間 表示方法T(n)=O(f(n)))
? ? ? ? ? 常見的時(shí)間復(fù)雜度排列順序
?常數(shù)階 對(duì)數(shù)階 線性階 線性對(duì)數(shù)階 平方階 立方階 k次方階
算法空間復(fù)雜度(表示方法S(n)=O(f(n)))
6.一些術(shù)語(yǔ)
附幾道教科書上的習(xí)題:
1.與數(shù)據(jù)元素本身的形式、內(nèi)容、相對(duì)位置、個(gè)數(shù)無(wú)關(guān)的是數(shù)據(jù)的(?? )。
A.存儲(chǔ)結(jié)構(gòu)?????????????? B.存儲(chǔ)實(shí)現(xiàn)
C.邏輯結(jié)構(gòu)?? ????????????D.運(yùn)算實(shí)現(xiàn)
?
?
2.以下說(shuō)法正確的是(?? )。解釋:數(shù)據(jù)元素是數(shù)據(jù)的基本單位,數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小單位,數(shù)據(jù)結(jié)構(gòu)是帶有結(jié)構(gòu)的各數(shù)據(jù)元素的集合
A.數(shù)據(jù)元素是數(shù)據(jù)的最小單位
B.數(shù)據(jù)項(xiàng)是數(shù)據(jù)的基本單位
C.數(shù)據(jù)結(jié)構(gòu)是帶有結(jié)構(gòu)的各數(shù)據(jù)項(xiàng)的集合
D.一些表面上很不相同的數(shù)據(jù)可以有相同的邏輯結(jié)構(gòu)
?
3.(1)x=90; y=100;?
while(y>0)
if(x>100)
?{x=x-10;y--;}
else x++;
答案:O(1)
解釋:程序的執(zhí)行次數(shù)為常數(shù)階。
?
(2)for (i=0; i<n; i++)
for (j=0; j<m; j++)
a[i][j]=0;
答案:O(m*n)
解釋:語(yǔ)句a[i][j]=0;的執(zhí)行次數(shù)為m*n。
?
(3)s=0;
?? ??for i=0; i<n; i++)
for(j=0; j<n; j++)
? ???????s+=B[i][j];
sum=s;
答案:O(n2)
解釋:語(yǔ)句s+=B[i][j];的執(zhí)行次數(shù)為n2。
?
(4)i=1;
? ???while(i<=n)
??????? i=i*3;
答案:O(log3n)
解釋:語(yǔ)句i=i*3;的執(zhí)行次數(shù)為 log3n。
?
(5)x=0;
for(i=1; i<n; i++)
?? for (j=1; j<=n-i; j++)
x++;
答案:O(n2)
解釋:語(yǔ)句x++;的執(zhí)行次數(shù)為n-1+n-2+……+1= n(n-1)/2。
?
(6)x=n; //n>1
y=0;
while(x≥(y+1)* (y+1))
????y++;
答案:O(x^(1/2))
解釋:語(yǔ)句y++;的執(zhí)行次數(shù)為 x^(1/2)。
?
轉(zhuǎn)載于:https://www.cnblogs.com/lnzhangsong/p/5088937.html
總結(jié)
以上是生活随笔為你收集整理的有关数据结构基础知识(数据结构 严蔚敏版)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于创建主键和索引的关系一个小小測试
- 下一篇: 第九章网络设备文件管理