1.1算法
算法不等于程序
1.特征:1)可行性 2)确定性 3)有穷性 4)足够的情报
2.基本结构:顺序,选择(分支),循环
3.时间复杂度:指计算工作量,基本运算次数
空间复杂度:需要的内存复杂度。与时间复杂度互相独立
1.2数据结构
是相互有关联的数据元素的集合
1.数据项是数据的最小单位,数据元素是数据的基本单位
2.逻辑结构:
线性结构:1)有且只有一个根节点,无前件
2)最多一个前件一个后件
非线性结构:树形&网状
3.存储结构:数据的逻辑结构在计算机中的表示
顺序存储:主要运用线性。
链式存储:每个结点至少包括一个指针域。
[结]:不同存储结构效率不同
1.3线性表及顺序存储结构
线性表:n个数据元素组成的有限序列,线性。可以顺序存储(顺序表),链式存储。
特点:
1)所有元素占空间连续 2)按逻辑顺序依次存放 3)随机访问 4)不便于插入删除
包括:双向链表,循环链表
1.4(上)栈
限定在一端进行插入和删除的线性表
- 只能在栈顶删除和插入
- 先进后出,后进先出
- 栈底指针不变,栈中元素随栈顶指针变化
- 栈具有记忆功能,支持子程序调用
- 例. 设栈的存储空间为S(1:50),初始状态为top=51。现经过一系列正常的入栈与退栈操作后,top=1,则栈中的元素个数为( )
A. 50 B. 49 C. 0 D. 1
【题目解析】经过运算后当前栈中元素个数为初始top和结果top之差,即51-1=50,选A
1.4(下)队列
一端插入,另一端删除(类比排队),先进先出。队头为front,队尾为rear
特点:
- 队尾插入,对头删