您的位置:首页 > 理论基础 > 数据结构算法

数据结构要点整理

2011-12-04 16:03 281 查看
逻辑结构:线性结构、非线性结构

存储结构:顺序存储、链接存储、索引存储、散列存储

数据运算:插入、删除、查找、排序

顺序队列:(循环队列)

1.front:对头位置 rear :队尾位置加1

2.front:对头位置加1,rear:队尾位置

判空条件:front == rear

判满条件: front == (rear+1)%N

循环移动:r = (r+1)%N

深度优先遍历:

void DFS(int matrix

,int v,int visited


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

,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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: