逻辑结构:线性结构、非线性结构
存储结构:顺序存储、链接存储、索引存储、散列存储
数据运算:插入、删除、查找、排序
顺序队列:(循环队列)
1.front:对头位置 rear :队尾位置加1
2.front:对头位置加1,rear:队尾位置
判空条件:front == rear
判满条件: front == (rear+1)%N
循环移动:r = (r+1)%N
深度优先遍历:
void DFS(int matrix[N][N],int v,int visited[N])
1.访问V,置标志位
2.FirstAdj(matrix ,v)—>u
3.若u<0,则退出,否则转4
4.若u未访问,则DFS(matrix,u,visited)
5.NextAdj(matrix,v,u)->u
6.转3
广度优先遍历(BFS)
void BFS(int matrix[N][N],int v,int visited)
1.创建队列,访问v,置标志位,v入队
2.若队列为空则退出,否则转3
3.出队->v
4.依次取v的所有邻接点->u
若u未访问『访问u,u职位,u入队』
5.转2
图中最短路径的Dijktra算法
1. 在未找到最短路径的顶点中找出当前路径的最短顶点
2.该顶点标志置1
3.用该顶点去检测(更新)其他未找到最短路径的顶点
链表倒置:
头部断开,然后用头插法顺序插入
while(p->next && p->next->data < x);