第一章 绪论
1.1 数据结构的基本概念
1. 基本概念
数据元素、数据对象、数据结构
2. 数据结构三要素
- 逻辑结构
- 存储结构(物理结构):顺序存储、链式存储、索引存储、散列存储
- 数据的运算
常见逻辑结构和物理结构区分
逻辑结构:线性表
物理结构:顺序表、链表
1.2 算法和算法评价
T(n)={ cn=1 aT(n/b)+cnkn>1 T(n)= \begin{cases} \ c\hspace{4cm} n=1\\ \ aT(n/b)+cn^k\hspace{1.2cm} n>1 \end{cases} T(n)={ cn=1 aT(n/b)+cnkn>1
====>>>>
T(n)={ O(nlogba)a>bk O(nklogbn)a=bk O(nk)a<bk
T(n)= \begin{cases}
\ O(n^{log_ba})\hspace{1.7cm} a>b^k\\
\ O(n^klog_bn)\hspace{1.2cm} a=b^k\\
\ O(n^k)\hspace{2.3cm} a<b^k\\
\end{cases}
T(n)=⎩⎪⎨⎪⎧ O(nlogba)a>bk O(nklogbn)a=bk O(nk)a<bk
常见的渐进时间复杂度:
O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)
O(1)<O(log_2n)<O(n)<O(nlog_2n)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)
O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)