1.2 数据结构的根基概念 & v$ {" l( N3 A2 G/ ]: k) N- M
数据结构研究的三个方面: 4 h% x9 `# r' y0 E( e; |
(1)数据集结中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;
" ^" Z! H3 h) Z: v (2)在对数据进行措置时,各数据元素在计较机中的存储关系,即数据的存储结构; 1 c9 n5 D" z- e& B) a4 G+ c
(3)对各类数据结构进行的运算。 + {/ T# f* U3 t/ o f
数据结构是指彼此有联系关系的数据元素的集结。
7 k+ {9 P- w1 O O 数据的逻辑结构包含:
6 n3 G1 \0 |1 w. } (1)暗示数据元素的信息;
5 q& G1 z' {: d/ O5 y2 Z& E (2)暗示各数据元素之间的前后件关系。 ; S0 t7 q7 W# C/ H g
数据的存储结构有挨次、链接、索引等。
7 h2 k3 _' c8 B0 K) u6 S 线性结构前提: - e; `2 N, @' U1 d
(1)有且只有一个根结点;
0 _. {* ?, k+ r; ~ (2)每一个结点最多有一个前件,也最多有一个后件。
9 V& f% \& L4 _. J9 T 非线性结构:不知足线性结构前提的数据结构。 1.3 线性表及其挨次存储结构 3 A+ h# O* s9 ~5 [- g5 B
线性表是由一组数据元素组成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
/ S0 G6 R. C2 t* |# n 在复杂线性表中,由若干项数据元素组成的数据元素称为记实,而由多个记实组成的线性表又称为文件。 3 D8 `8 a- L# w; Z, } @5 y! @
非空线性表的结构特征:
, ~6 q: E6 w0 x4 d+ G! G. ]1 b (1)且只有一个根结点a1,它无前件;
& d. D" V) u6 b2 e8 d8 v' e( X (2)有且只有一个终端结点an,它无后件;
9 {1 G0 n T8 I- g (3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。
' n: f4 {0 q9 r$ s- M 线性表的挨次存储结构具有以下两个根基特点:
- u. u5 F' U, X* W3 \0 k7 a/ f (1)线性表中所有元素的所占的存储空间是持续的; 2 n3 }" L% R( p! v0 ~
(2)线性表中各数据元素在存储空间中是按逻辑挨次依次存放的。 6 Y, j8 q+ Q) \& K) P& B
ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。 挨次表的运算:插入、删除。 |