栈的定义栈是一种只能在一端进行插入或删除操作的线性表。表中允许进行插入、删除操作的一端称为栈顶。栈顶的当前位置是动态的,由栈顶指针来指示。表的另一端称为栈底。当栈中没有数据元素时,称为空栈。栈的插入操作通常称为进栈或入栈,栈的删除操作通常称为退栈或出栈。栈..
分类:
其他好文 时间:
2016-04-20 02:09:31
阅读次数:
172
《实用数据结构》第4章6.1题//算法设计题.要求:设一个循环队列Queue,只有头指针front,不设尾指针,另设一个含有元素个数的记录器count,
//试写出相应的入队和出队的算法
#include<iostream>
#include<stdlib.h>
#include<time.h>
usingnamespacestd;
#de..
分类:
其他好文 时间:
2016-04-19 00:43:16
阅读次数:
208
等待条件有两种方式:无条件等待pthread_cond_wait()和计时等待pthread_cond_timedwait() 激发条件有两种形式:pthread_cond_signal()激活一个等待该条件的线程,存在多个等待线程时按入队顺序激活其中一个;而pthread_cond_broadca ...
分类:
其他好文 时间:
2016-04-18 20:38:47
阅读次数:
134
算法讨论: 差分约束裸题。 但是有几个注意的地方: 差分约束可以构建最短路模型,也可以构建最长路模型。 如果有x1 >= 常数。如此的形式,就提醒我们要加超级源点啦。 统计答案的方式。 为了提高SPFA的效率,可以在开始的时候把所有的点都入队。 代码: ...
分类:
其他好文 时间:
2016-04-18 07:41:09
阅读次数:
171
今天看图的广度优先遍历的时候,发现用到了循环队列,补一下循环队列的知识,参考《大话数据结构》的P116~117,自己写了一个简单的测试例子便于理解。 首先需要理解以下三条公式。 front是队头元素的下标,rear是队尾元素后一位的下标。(书上用头指针和尾指针,front和rear并不是指针,个人觉 ...
分类:
其他好文 时间:
2016-04-17 17:33:34
阅读次数:
1150
问题 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 将入队的元素,加入stack1,如果有出队操作,则将stack1中的元素依次压入stack2,从stack2中弹出元素就等于出队操作,直到从stack2中弹出所有元素,则才又从stack1中加入元素。 ...
分类:
其他好文 时间:
2016-04-17 16:05:29
阅读次数:
166
spfa 就是加了一个剪枝(忽略了不需要考虑的节点) 1.起点加入队列 O(1) 2.取队列中距离起点最近的点i O(1) or O(1) = O(1) 2.1判断i是否为终点 如果是 结束 O(1) 2.2判断i是否值得进一步计算(当前i到起点距离是已知i到起点距离中最小的) O(1) or O( ...
分类:
编程语言 时间:
2016-04-17 06:43:31
阅读次数:
217
本文有以下内容:广度优先搜索的描述广度优先搜索的优点3.广度优先搜索的代码模版描述:广度优先搜索算法用于树的遍历。算法的描述概括如下:取得当前节点将当前节点入队列当队列不为空时,获得队头节点head,队头head出队列;判断队头的状态是否是待求状态是,则作相应处理;结束..
分类:
其他好文 时间:
2016-04-17 00:57:25
阅读次数:
169
队列(Queue)代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。 ConcurrentQueue<T>队列是一个高效的线程安全的队列,是.Net Framework 4.0,System.Collect ...
分类:
其他好文 时间:
2016-04-16 00:39:59
阅读次数:
749
本章介绍IP分组的结构和主要的IP处理过程,包含输入,转发和输出。下图显示了IP层常见的组织形式。 在之前的文章中。我们看到了网络接口怎样把到达的IP分组放到IP输入队列ipintrq中去,并怎样调用一个软件中断,例如以下图所看到的: 由于硬件中断的优先级比软件中断的要高,所以在发生一次软件中断之前 ...
分类:
其他好文 时间:
2016-04-15 14:02:42
阅读次数:
145