数据结构第一章

数据的逻辑结构

分为线性结构和非线性结构,线性表是典型的线性结构,集合,树与图属于非线性结构。

数据的存储(物理)结构

顺序存储:优点:实现了随机存取;缺点:产生了外部碎片。
(所谓的随机存取是指存取数据所花的时间和数据所在的位置无关)
链式存储:优点:不会出现碎片现象;缺点:每个元素因存储指针占用额外存储空间,只能实现顺序存取

时间复杂度

算法中基本运算(最深层循环内的语句)的频度。
例如: f ( n ) = a n 3 + b n 2 + c n f(n)=an^{3}+bn^{2}+cn f(n)=an3+bn2+cn
的时间复杂度为O(n^3);
常见时间复杂度大小为 O ( 1 ) < O ( l o g 2 n ) < O ( n ) < O ( n 2 ) < O ( n 3 ) < O ( 2 n ) < O ( n ! ) < O ( n n ) O(1)<O(log_{2}n)<O(n)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n) O(1)<O(log2n)<O(n)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)

空间复杂度

它是问题规模n的函数,只需分析除输入和程序之外的额外空间。
算法原地工作指算法所需辅助空间为常量,即O(1)。
有时函数递归调用也会带来存储开销。

void C(int n){
	int a,b,c;
	if (n>1){
	C(n-1)
	}
	printf("第%d次/n",n);
}
void main(){
C(5);
}

这里每调用一次都要创建一个新的abc变量,故空间复杂度为O(n);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值