今天看图的广度优先遍历的时候,发现用到了循环队列,补一下循环队列的知识,参考《大话数据结构》的P116~117,自己写了一个简单的测试例子便于理解。 首先需要理解以下三条公式。 front是队头元素的下标,rear是队尾元素后一位的下标。(书上用头指针和尾指针,front和rear并不是指针,个人觉 ...
分类:
其他好文 时间:
2016-04-17 17:33:34
阅读次数:
1150
单链表的结构有多种 这里介绍的链表有头结点、有尾节点并且尾节点指向头结点 单链表的每个结点的地址存放在其直接前驱结点的指针域中。其中第一个结点没有前驱结点,因此需要一个头指针指向第一个节点,便于我们对整个链表进行操作;这里的单链表的最后一个节点的指针域存放的是头结点的地址。 单链表不能随意存取,必要 ...
分类:
编程语言 时间:
2016-04-15 20:18:27
阅读次数:
196
#include <stdio.h> #include "shou_note.h" struct student *create() /*这个括号是什么意思?*/ { //创建 头指针 尾指针 新指针 struct student *phead=NULL; struct student *pend ...
分类:
其他好文 时间:
2016-04-12 20:57:18
阅读次数:
180
循环队列采用顺序存储的方式(数组),基本思想是通过一个数组存储数据,两个下标front和rear分别指向队头和队尾 由于假溢出现象:采用循环队列,又由于循环队列无法判断队列是空还是满,所以采用损失一个元素为空的代价来分别队列为空还是为满 与链队列不同的是: 循环队列的队头指针(下标)不是指向什么头结 ...
分类:
其他好文 时间:
2016-04-11 20:20:32
阅读次数:
158
1. 循环队列的长度计算:对于非循环队列,尾指针与头指针的差值便是队列长度,而对于循环队列,差值可能为负数,因此需要将差值加上MAXQSIZE再与MAXQSIZE求余。 2. 算法的时间复杂度取决于:待处理数据的状态与问题的规章。 3. HRN调度算法:最高响应比=(等待时间+执行时间)/ 执行时间 ...
分类:
其他好文 时间:
2016-04-10 17:50:30
阅读次数:
138
oncurrentModificationException 在这种迭代方式中,当iterator被创建后集合再发生改变就不再是抛出ConcurrentModificationException, 取而代之的是在改变时new新的数据从而不影响原有的数据 ,iterator完成后再将头指针替换为新的数 ...
分类:
其他好文 时间:
2016-04-09 13:54:19
阅读次数:
280
题目描述 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。 给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。 测试样例: 1->2->2->1 返回:trueSolution 1: /* struct ...
分类:
其他好文 时间:
2016-04-03 20:17:55
阅读次数:
203
一、删除前缀 '*' 1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 //主函数 7 int main() 8 { 9 char chr[20],*b,*p; //字符串缓冲区;字符串头指针;字符串临时指针 1 ...
分类:
其他好文 时间:
2016-04-03 14:29:15
阅读次数:
216
题目描述 编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。 1 import java.util.*; 2 3 /* 4 public ...
分类:
其他好文 时间:
2016-03-31 20:26:18
阅读次数:
129
指针:一个储存一个地址的整型对象,即一个整数,以指针所存地址开头,指针类型对应类型那么大(如char指针对应内存大小为1个字节)的那块内存,我们称作指针所指内存,编译器根据指针的类型操作指针指向内存。 引用:作为一个对象的别名,对引用的所以操作均可看做对其绑定对象的操作,并且引用在定义时必须初始化, ...
分类:
其他好文 时间:
2016-03-31 14:13:51
阅读次数:
148