数据结构与算法:数组操作复杂度分析及内存管理.pptxVIP

  • 1
  • 0
  • 约小于1千字
  • 约 10页
  • 2026-05-12 发布于北京
  • 举报

数据结构与算法:数组操作复杂度分析及内存管理.pptx

数组(Array)

追加(append/push)–O(1)

索引修改/访问(A[idx]=...)–O(1)

插入(insert)–O(n)

删除(delete/remove)–O(n)

合并(concat/merge)–O(m+n)

数组实现

内存中

元素在内存中呈线连续性排列

每个元素可以存储字节数相同数据(或地址)

卫星数据(存储地址)

数组元素用于存储地址时,这些地址指向的数据被称为卫星数据。

......

访问/修改-索引O(1)

a[3]=10

a=0xA000

a[3]=0xA000+3*8=0xA018

LOADA10

STOREA0xA018

0

1

2

3

4

5

序数

追加元素的复杂度?

7

8

9

10

11

?

需要在内存中另选一块地方

一种分配算法

对任意数组,元素个数为n,实际分配空间为N

N=2n

例如:对n=k,N=2k的数组追加k+1个元素

对k次追加,每次执行常数时间

对第k+1次追加,需要拷贝2k个元素到新的内存区域

平均情况进行k+1次追加和2k次拷贝

插入元素O(n)

7

需要将3,4,5,6依次向后移动,留出7需要插入的位置

删除元素O(n)

X

需要依次将4,5,6向前移动一个位置

合并数组-O(m+n)

数组A长度为n,数组B长度为m

0x2c00

0x5600

0x7800

文档评论(0)

1亿VIP精品文档

相关文档