分享
 
 
 

数据结构学习笔记(1)

王朝other·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

教材选择:《数据结构》 严蔚敏 清华大学

本次主要内容:数据结构中的基本概念;算法及其量度。

一.基本概念:

1. 数据:所有能被输入到计算机中,且被计算机处理的符号的集合。

2. 数据元素:数据中的一个“个体”,数据结构中讨论的基本单位,不是最小单位。

3. 数据项:数据结构中讨论的最小单位。数据元素是数据项的集合。

4. 数据结构:带结构的数据元素的集合。结构指数据之间存在的约束关系。

5. 数据的逻辑结构:可分为四类:线形结构;树形结构;图状结构;集合结构。

6. 关系的映象方法(表示<x,y>的方法):

a.

顺序映象:以存储位置的相邻表示后继关系,y的存储位置和x的存储位置之间差一个常量C,而C是一个隐含值,整个存储结构中只含数据元素本身的信息。

b.

链式映象:以附加信息(指针)表示后继关系,需要用一个和x在一起的附加信息指示y的存储位置。

7.抽象数据类型(ADT):是指一个数学模型以及定义在此数学模型上的一组操作。具有两个重要的特征:数据抽象,数据封装。抽象数据类型可用(D,S,P)三元组表示,其中,D是数据对象,S是D上的关系集,P是对D的基本操作集。

ADT抽象数据类型名{

数据对象:<数据对象的定义>

数据关系:<数据关系的定义>

基本操作:<基本操作的定义>

} ADT抽象数据类型名

其中,数据对象和数据关系的定义用伪码表示,基本操作的定义格式为:

基本操作名(参数表)

初始条件:〈初始条件描述〉

操作结果:<操作结果描述>

二.算法及其量度:

1. 算法:为了解决某类问题而规定的一个有限长的操作序列。一个算法必须满足5个特征:有穷性;确定性;可行性;有输入;有输出。

2. 算法设计的原则:正确性;可读性;健壮性;高效率与低存储量需求。

3. 衡量算法效率的方法:

a.

事后统计法:即运行程序后,检查其运行的时间。

b.

事前分析估算法:在程序运行前估算程序运行的时间。一个特定算法的“运行工作量”的大小,只依赖问题的规模(用整数量n表示),或者说,它是问题规模的函数。

4. 时间复杂度:随着问题规模n的增长,算法执行时间的增长率和f(n)的增长率相同,则可记做T(n) = O(f(n)),称T(n)为算法的(渐进)时间复杂度。

5. 如何估算时间复杂度:

算法 = 控制结构+原操作(固有数据类型的操作),算法的执行时间 = ∑原操作(i)的执行次数*原操作(i)的执行时间,算法的执行时间与原操作执行次数之和成正比。

从算法中选取一种对于所研究的问题来说是基本操作的原操作,以该基本操作在算法中重复执行的次数作为算法运行时间的衡量准则。

例一:矩阵相乘

for( i = 1; I <= n; ++I)

for(j = 1; j<=n; ++j){

c[I,j]=0;

for(k=1;k<=n;++k)

c[I,j] += a[I,k] * b[k,j];

}

基本操作:乘法操作

时间复杂度:O(

n * n * n)

例二:选择排序

void select_sort(int a[], int

n)

{

for(i=0; i<n-1; ++i){

j=i;

for(k=i+1; k<n; ++k)

if(a[k] < a[j])

j=k;

if(j!=i)

a[j] <---> a[i]

}

}

基本操作:比较(数据元素)操作

时间复杂度:O(

n(n-1)/2)

6. 算法的空间复杂度:随着问题规模n的增大,算法运行所需存贮量的增长率与g(n)的增长率相同。S(n)=O(g(n))

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有