思维导图整理



线型  队列先进先出 

           L++ifl==1001l=0

           T++; If(t==1001)t=0;

循环队列

       先进后出 bottom=-1top加加减减;

树型 普通树 大数组存孩子

             一维数组加静态链表存孩子

             两个数组 第一个孩子和兄弟 (想象之外的东西)

     二叉树 左右孩子数组lchild[],rchild[].

     完全二叉树 数组

     堆(排) 完全二叉树+大小

          数组尾加新元素然后调整 和父亲len/2

          取走堆顶元素 和左右子树调整

     排序二叉树 小左大右储存采用一般二叉树

     并查集 并 将父亲连在一起 可以化为菊花图

            查 父亲相同则为同一集合

     哈夫曼树 

 邻接矩阵邻接表 (权值 方向)

    

储存 数组 栈 队列 堆

     链表 并查集普通树 邻接表

 

 

DP 划分型 划分为几个区间为阶段 乘积最大问题

    坐标型 f[x][y]=f[x+-?][y+-?]+?[x][y]数字三角形

    区间型                                      合并石子

    线型                                          lis lcs

    背包型 

                01背包  

                 Fori=1;i<=n;i++

                 For(j=m;j>=wi[i];j--)

                 F[j]=max(f[j],f[j-wi[i]])

                多重背包

                 For I =1 to n

                 For j=wi[i]to m

                 For k= 0 to ci[i]

                 F[x][j]=maxf[x-1][j-k*wi[i]]+k*vi[i],f[x-1][j])

                 完全背包

                 for i =1 to n

                  for j =wi[i] to m

                f[i][j]=max(f[x][j-wi[i]],f[x-1][j]);

                 分组背包 

               每组01 f[i][v]=max(f[i-1][v-j]+wi[i][j],f[i][v]

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值