算法:
解决特定问题求解步骤的描述,表现为指令的有限序列,每条指令表示一或多个操作。
算法特性:输入/输出/有穷性/确定性/可行性
线性表:
0或多个数据元素的有限序列。
栈:
限定仅在表尾进行插入和删除操作的线性表。
队列:
只允许在一端进行插入操作,另一端进行删除操作的线性表。
串:
字符串,0或多个字符组成的有限序列。
树:
0或多个结点的有限集,0时为空树。根结点/根的子树。
图:
由定点的有穷非空集合和顶点之间边的集合组成,表示为G(V, E)
查找:
根据给定的值,在查找表中确定一个其关键字等于给定制的数据元素
主关键字:唯一标识一个记录
次关键字:识别多个数据元素的关键字
查找表按照操作方式分为:静态查找表和动态查找表;
1.顺序表查找(线性查找)2.有序表查找(折半查找)(插值查找)
排序:
使序列成为一个按关键字有序的序列操作
稳定排序/不稳定排序
内排序(内存中)/外排序(内外存简多次交换数据)
内排序分为:插入排序/交换排序(如冒泡排序)/选择排序/归并排序
冒泡排序:两两比较相邻记录的关键字,如果反序则交换,直到没有反序记录为止。可以使用flag,避免因已经有序情况下的无意义循环判断。
简单选择排序
直接