标签:queue 学习 个人 tee 初始化 用途 int start 结果 重要
有向图中的路径是连接图中两个顶点的有向边的序列
顶部伪代码(广度优先遍历)
(1)顶点v入队列。
(2)当队列非空时则继续执行,否则算法结束。
(3)出队列取得队头顶点v;访问顶点v并标记顶点v已被访问。
(4)查找顶点v的第一个邻接顶点w。
(5)若v的邻接顶点w未被访问过的,则w入队列。
(6)继续查找顶点v的另一个新的邻接顶点w,转到步骤(5)。
直到顶点v的所有未被访问过的邻接点处理完。转到步骤(2)。
伪代码的细化描述(广度优先遍历)
设立一个访问标志数组visited[N],初值为0,某顶点被访问后,则相应下标元素置1。
(1)初始化队列Q;visited[N]=0;
(2)访问顶点v;visited[v]=1;顶点v入队列Q;
(3) while(队列Q非空)
v = 队列Q的队头元素出队;
w = 顶点v的第一个邻接点;
while ( w存在 )
如果w未访问,则访问顶点w;
visited[w]=1;
顶点w入队列Q;
w=顶点v的下一个邻接点。
public Iterator<T> iteratorBFS(int startIndex){ //广度优先遍历
int currentVertex;
LinkedQueue<Integer> traversalQueue = new LinkedQueue <Integer> ();
ArrayIterator<T> iter =new ArrayIterator <T> ();
if (!indexIsValid(startIndex)){
return iter;
}
boolean[] visited =new boolean[numVertices];
for (int vertexIndex=0;vertexIndex<numVertices;vertexIndex++)
visited[vertexIndex]=false;traversalQueue.enqueue ( startIndex );
visited[startIndex]=true;
while (!traversalQueue.isEmpty ()){
currentVertex=traversalQueue.dequeue ();
iter.add (vertices[currentVertex]);
for(int vertexIndex=0;vertexIndex<numVertices;vertexIndex++)
if (adjMatrix[currentVertex][vertexIndex]&&!visited[vertexIndex]){
traversalQueue.enqueue ( vertexIndex );
visited[vertexIndex]=true;
}
}
return iter;
}
--
最小生成树构造思路
设T为最小生成树集合
最小生成树集合包括n个顶点与n-1条边
(1) 初始T= 空集合
(2) while ( T 还不是生成树)
(3) 找出对 T 来说不会形成回路且权值最小的边 (u,v)
(4) 将边(u, v)加入T中
(5) return T
--
伪代码细化描述:
建立候选边集表,把从起始点u0 出发到其余各点的权值记录在其中,开始u= u0
(1)在候选边集中选择结点u;
(2)在候选边集中选出最短边(u, v);
(3)以v为起点,调整候选边集;
调整方法:当(u, x)>(v, x)时,用(v, x)替换(u, x),x为除u、v外的其他点;
重复(1)~(3)直到所有结点都处理完毕。
--
借助于多项式除法,其余数为校验字段。
例如:信息字段代码为: 1011001;对应m(x)=x6+x4+x3+1
假设生成多项式为:g(x)=x4+x3+1;则对应g(x)的代码为: 11001
x4m(x)=x10+x8+x7+x4 对应的代码记为:10110010000;
采用多项式除法: 得余数为: 1010 (即校验字段为:1010)
发送方:发出的传输字段为: 1 0 1 1 0 0 1 1 0 10
接收方:使用相同的生成码进行校验,接收到的字段/生成码(二进制除法)如果能够除尽,则正确
- [20162303](http://www.cnblogs.com/syx390234975/)
- 结对学习内容
- 学习第十九章
- 研究上课时讲的ppt
成功不是属于先出发的,而是最先到达跟最后倒下的;
成功不是属于先做的,而是属于做的最好的那一个人。
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 68/68 | 1/1 | 12/12 | |
第三周 | 298/366 | 2/3 | 18/30 | |
第五周 | 688/1162 | 2/5 | 20/50 | |
第七周 | 1419/2581 | 4/9 | 20/70 | |
第八周 | 908/3489 | 2/11 | 20/90 | |
第九周 | 663/4152 | 2/13 | 20/110 | |
第十周 | 998/5154 | 3/16 | 20/130 | |
第十一周 | 118/5272 | 3/19 | 20/150 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:20小时
实际学习时间:20小时
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
20162307 2017-2018-1 《程序设计与数据结构》第11周学习总结
标签:queue 学习 个人 tee 初始化 用途 int start 结果 重要
原文地址:http://www.cnblogs.com/Tiffany23/p/7860678.html