10 2020 档案
摘要:Dijkstra算法 Dijkstra算法算是贪心思想实现的,首先把起点到所有点的距离存下来找个最短的,然后松弛一次再找出最短的,所谓的松弛操作就是,遍历一遍看通过刚刚找到的距离最短的点作为中转站会不会更近,如果更近了就更新距离,这样把所有的点找遍之后就存下了起点到其他所有点的最短距离。 问题引入:
阅读全文
摘要:树和图的两种遍历方式即为特殊的DFS和BFS 用单链表储存树和图时,从每一个节点的头指针只能储存当前节点能到达的下一层的节点 宽度优先遍历没有进行递归所以每一次搜索都是以头结点指向的位置 例如 1->2 1->3 1->5 2->8 3->6 3->7即h[1]->5->3->2->-1;h[2]-
阅读全文
摘要:树和图的存储方式是用链表来实现。 一般较常使用的单链表和邻接矩阵 由于目前只学了单链表就只叙述下单链表的实现 单链表:(这里使用数组模拟的方式) 单链表实现树和图的储存即开一个几个数组:e[i](储存当前节点的数值)h[i](储存每个节点的数值的头指针)ne[i](储存每个节点指向的下一个节点) 1
阅读全文
摘要:质数筛: 暴力筛代码: 1 bool check_prime(int n) 2 { 3 if(n==1) return 0; 4 for(int i=1;i<=n;i++) 5 if(n%i==0) return 1; 6 return 0; 7 } 六筛法代码: 1 bool check_prim
阅读全文
摘要:1,pair的应用 pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是
阅读全文