欢迎光临散文网 会员登陆 & 注册

算法和数据结构---(线性表-顺序存储)

2023-03-23 14:41 作者:圣母和正负喜欢没办法  | 我要投稿

最好用O(%5Clog%20%7Bn%7D)算法,O(n)也行。O(nlog%20%20%7B%20n%7D%20)也可以。

O(1)%3CO(log(n))%3CO(n)%3CO(nlog(n))%3CO(n2)%3CO(n3)%3CO(2n)%3CO(n!)%3CO(n%5En)

线性表

图1

结构

顺序存储:

C:

地址连续,依次存放,随机存储,类型相同

图书表

多项式

P(x)%3Dp_%7B1%7Dx%5E%7Be_%7B1%7D%7D%2Bp_%7B2%7Dx%5E%7Be_%7B2%7D%7D%2B...%2Bp_%7Bm%7Dx%5E%7Be_%7Bm%7D%7D

分类方法:

1>首先考虑分解目标函数、数据的构成,简单说就是用一种简化方式将其分成一种可以用一维、二维、三维数组代替的成分。比如图书分类:有编号、价格、名字、日期、借出人。

多项式:系数、指数

2>再考虑计算机存储方式:存储空间基地址、目标对象个数。C语言特性连续、依次、随机

数组静态分配:JAVA这种没指针的多用。

动态数组分配

C:分配内存:

JAVA:

C++:

!!注意如果是SqList *L,则成员表示:

如果是SqList L,则成员表示:

预定义变量&类型:(实际工程中,可以提前宏定义好,以后改会很方便,宏定义减少调用时间)

以后实际工程中:要注意提前判断,用于错误检测

C++:

线性表操作:

ASL%3D%E2%88%91_%7Bi%3D0%7D%5E%7Bn%7D%E2%80%8BPi%E2%80%8BCi%E2%80%8B

%E5%88%A0%E9%99%A4%EF%BC%9AASL%3D%5Csum%5E%7Bn%7D_%7Bi%3D0%7DP_%7Bi%7DC_%7Bi%7D%3D%5Cfrac%7B1%7D%7Bn%E2%80%8B%7D%E2%88%91_%7Bi%3D0%7D%5E%7Bn%7D%E2%80%8Bn-i%3D%5Cfrac%7B1%7D%7Bn%E2%80%8B%7D%5Cfrac%7Bn(n-1)%7D%7B2%7D%E2%80%8B%3D%5Cfrac%7Bn-1%7D%7B2%E2%80%8B%7D

删除&插入

%E6%8F%92%E5%85%A5%EF%BC%9AASL%3D%5Csum_%7Bi%3D0%7D%5E%7Bn%7DP_%7Bi%7DC_%7Bi%7D%3D%5Cfrac%7B1%7D%7Bn%2B1%E2%80%8B%7D%E2%88%91_%7Bi%3D0%7D%5E%7Bn%7D%E2%80%8B%7Bn-i%2B1%7D%3D%5Cfrac%7B1%7D%7Bn%E2%80%8B%2B1%7D%5Cfrac%7Bn(n%2B1)%7D%7B2%7D%E2%80%8B%3D%5Cfrac%7Bn%7D%7B2%E2%80%8B%7D


%E5%88%A0%E9%99%A4%EF%BC%9AASL%3D%5Csum_%7Bi%3D0%7D%5E%7Bn%7DP_%7Bi%7DC_%7Bi%7D%3D%5Cfrac%7B1%7D%7Bn%E2%80%8B%7D%E2%88%91_%7Bi%3D0%7D%5E%7Bn%7Dn-%E2%80%8Bi%3D%5Cfrac%7B1%7D%7Bn%E2%80%8B%7D%5Cfrac%7Bn(n-1)%7D%7B2%7D%E2%80%8B%3D%5Cfrac%7Bn-1%7D%7B2%E2%80%8B%7D

优点:储存量大,随机存储任意元素

缺点:插入和删除麻烦


算法和数据结构---(线性表-顺序存储)的评论 (共 条)

分享到微博请遵守国家法律