Luogu P1886 滑动窗口 "传送门" 此题为单调队列入门题。单调队列,可以$O(n)$求一段数列中区间极值。记录队列中元素大小与该元素在原数组中的位置。当队首元素超出当前求值区间时,头指针加一;当当前将入队元素大于或小于尾元素时,尾指针减一,直到不符合上一条件时,将当前元素入队。然后要求极值 ...
分类:
其他好文 时间:
2018-03-12 21:12:32
阅读次数:
144
1. 数组作为函数参数: 形参是指针和数组长度,或首尾指针。 实际参数是数组,形参应该是指针 2. trapping rain water算法改进: 一种技巧,适用于某元素的所求量需要左右元素确定的问题。整体扫描可以把时间复杂度化为n。 一种技巧,适用于某元素的所求量需要左右元素确定的问题。整体扫描 ...
分类:
其他好文 时间:
2018-02-01 23:12:54
阅读次数:
150
#include "student.h" CStu::CStu() { //链表头指针 m_pHead = NULL; //链表尾指针 m_pEnd = NULL; m_stuCount = 0; } CStu::~CStu() { while (m_pHead) { Student* pTemp ... ...
分类:
编程语言 时间:
2018-01-21 17:39:35
阅读次数:
176
"欢迎fork and star:Nowcoder Repository github" 109. Convert Sorted List to Binary Search Tree 题目 解析 主要考察链表求中间节点 统一输入输出接口,需要将前后两段指针分开,也可以再加入一个尾指针参数 这个题是这 ...
分类:
其他好文 时间:
2018-01-08 21:16:36
阅读次数:
128
队列的数据项都是队列尾插入,然后移向队列头,并从队列头删除或者获取。 队列需要一个头指针(front)和尾指针(rear),头指针会随着出队变动,rear会随着入队变动 两种常用队列 :线性队列,循环队列。 线性队列和循环队列的区别是:线性队列会产生假溢出,即头指针和尾指针都到了size大小 数组实 ...
分类:
编程语言 时间:
2017-11-26 22:59:14
阅读次数:
334
原创文章,拒绝转载 主要的思想是使用三个标记指针:preNode、curNode、nextNode,每次将curNode的next设为preNode,然后如果此时nextNode为空,跳出循环,将链表头指针的next设为NULL,返回链表尾指针;否则,preNode = curNode,curNod ...
分类:
编程语言 时间:
2017-11-18 21:00:41
阅读次数:
193
参考资料:《算法与数据结构考研试题精析》《2018数据结构考研复习指导》,如果有误还请提出来~~~>W< 已知链队列的头尾指针分别是f和r,则将值x入队的操作序列是: 将数字e压入栈s,实现入栈操作 数组s作为两个堆栈的共享空间,请说明共享方法 循环队列的数据结构 循环队列不设rear,改计数器co ...
分类:
其他好文 时间:
2017-10-28 18:49:58
阅读次数:
291
1 /*队列:其实也是一种操作受限的线性表 2 *特点:先进先出 3 *队尾指针:负责元素的进队 4 *队头指针:负责元素的出队 5 *注意:普通队--容易浪费空间,一般队列使用最多的就是循环队列--指针环绕 6 *队列的实现方式:数组/链表 7 *队列判空判满: 8 *1.按照队列中元素的个数 9... ...
分类:
编程语言 时间:
2017-10-17 15:02:04
阅读次数:
255
一:定义 ①队列:队列是一种操作受限的线性表,其仅允许在表的一端进行插入,在表的另一端删除,其中删除的一端是表头,插入的一端是表尾,向队列中插入新元素为入队,向队列中删除元素为出队,队列是一种先进先出表。 ②元素入队(插入)操作是先将队尾指针加1,然后将插入的元素放在队尾处;出队(删除)操作是先将队 ...
分类:
其他好文 时间:
2017-10-14 16:45:02
阅读次数:
126
如果用一个循环数组表示队列,并且只设队列头指针Front,不设尾指针Rear,而是另设Count记录队列中元素个数。请编写算法实现队列的入队和出队操作。 函数接口定义: bool AddQ( Queue Q, ElementType X ); ElementType DeleteQ( Queue Q ...
分类:
其他好文 时间:
2017-10-07 22:47:52
阅读次数:
185