摘要:
一:关于队列 (1)一种线性表 (2)允许在表的一端插入数据,在另一端删除元素。插入元素的这一端称之为队尾。删除元素的这一端为队首 (3)先进先出,就像排队一样 二:操作: 定义q[],hh队头,tt队尾 (1)插入 q[++tt]=x (2)弹出队头 hh++ (3)判断空 if(hh<=tt)为 阅读全文
posted @ 2020-11-07 21:07
liyexin
阅读(165)
评论(0)
推荐(0)
摘要:
一:关于栈 (1)是一种线性存储结构 (2)限定只能在栈顶进行插入和删除操作。 (3)栈顶与栈底:允许元素插入与删除的一端称为栈顶,另一端称为栈底。 (4)先进后出,就像一个桶,往里放东西,最后放的肯定先被拿走 二:操作 定义st[],tt表示栈顶下标 (1)插入 st[+tt]=x (2)弹出栈顶 阅读全文
posted @ 2020-11-07 21:01
liyexin
阅读(129)
评论(0)
推荐(0)
摘要:
地址:https://www.acwing.com/problem/content/841/ 解析: 这个题比较麻烦的一点就是k。第k个插入的数,不是树里的序号。经过一系列变换后,第k个插入的数在树里的序号会发生交换。 所以引入两个数组:ph[i]=x:表示第i次插入的数,在树中的序号为x。hp[i 阅读全文
posted @ 2020-11-07 20:26
liyexin
阅读(184)
评论(0)
推荐(0)
摘要:
一:定义以及部分性质 1:堆中某个节点的值总是不大于或不小于其父节点的值; 2:堆总是一棵完全二叉树。 3:最后一个非叶结点是第n/2个结点。这里建堆的时候会用到,复杂度可以降到O(n); 二:关于建堆 如果一个点为u,那么它的左儿子为2*u,右儿子为2*u+1 对于小根堆来讲,每个以u为根节点的树 阅读全文
posted @ 2020-11-07 20:10
liyexin
阅读(168)
评论(0)
推荐(0)

浙公网安备 33010602011771号