zoukankan      html  css  js  c++  java
  • 算法模板学习专栏之总览(会慢慢陆续更新ing)

    博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~
    http://www.cnblogs.com/chenxiwenruo/p/7495310.html
    特别不喜欢那些随便转载别人的原创文章又不给出链接的
    所以不准偷偷复制博主的博客噢~~

    数据结构和算法模板系列之总览

    很早前就打算将自己学过的数据结构和算法等知识和模板做个整理,但一直没有抽出时间来弄。现在打算抽空一点时间陆陆续续地将自己平时用的模板都贴上来,这里先做个综述。

    主要针对那些想要准备机试、刷题或者刚刚接触ACM的初学者来说,对于AC大牛们,请出门左拐,秒刷一切。

    建议用C++,因为有几个好处:

    1. 同样的代码,C++比java快,至于其他语言我就不太清楚了,用C/C++或者java刷题的占大多数

    2. C++结构体比java的class要简洁方便很多,毕竟刷题不是那种大项目工程,所以简洁越好

    3. C++的自定义排序很方便很实用,java也可以,但不如C++简单方便。

    这里我用*来表示难度级别,其中:

    • *:虐菜难度,这点都不会你好意思说你学计算机的嘛

    • **:普通难度,稍微认真学下就能懂滴

    • ***:地狱难度,咳咳,这个嘛,对于大多数人来说,得花费精力仔细去研究研究

    另外,对于红色部分,一般保研/考研机试的不太会遇到(如果有遇到的童鞋,可以告知一声),但是像一些如微软等这些大公司以算法题为笔试,说不定可能会遇到,跟什么PAT、CCF认证简直就是不在一个档次,甩他们好几条街。。。

    基本算法知识:

    数据结构

    • STL运用,如queue、stack、vector、map*

    • 链表*

    • 并查集(一)入门**

    • 树状数组**

    • 线段树***

    • AVL树***(先给个模板链接吧,之后有时间更新个AVL的学习专栏,讲解一下模板,感觉网上大部分模板看起来都太复杂了)

    图论

    • 邻接链表——链式前向星 (比建立vector要快)
    • dfs和bfs*

    • 前序、中序、后序*

    • 最短路**

    • 最小生成树**
    • 二叉树*

    • 邻接链表**

    • 拓扑排序**

    • 二分图匹配** 

    • 网络流*** 

    数学

    字符串

    • 常用函数库*

    • LIS,最长上升子序列**

    • LCS,最长公共子序列**

    • 回文(暴力*,Manacher算法***

    • 字符串匹配(暴力*,KMP***

    • 字典树**

    • LCA(最近公共祖先)离线算法Tarjan+并查集 **

     DP

    • LIS,LCS,LCIS
    • 背包问题(01背包,完全背包)
    • 状态压缩dp
    • 区间dp

    其它技巧

    • C++自定义排序
    • C++读写文件输入
    • #define用法
  • 相关阅读:
    STM32:SPI&w25qxx的配置与代码
    STM32:USART的原理与配置
    C的抽象数据类型:二叉树
    DSP:TMS320C66x 系列SPI NOR自启动
    C的抽象数据类型:链表、队列
    STM32:GPIO口的使用
    STM32:时钟树
    STM32:预备知识
    makefile:简单小结
    ubuntu:tar、apt、vim、gcc的配置和简单使用
  • 原文地址:https://www.cnblogs.com/chenxiwenruo/p/7495310.html
Copyright © 2011-2022 走看看