专栏首页尜尜人物的专栏数据结构与算法系列之总篇

数据结构与算法系列之总篇

〇、前言

不知何时起,江湖上出现了一个门派,名曰“计算机技术”。其以功法多样、内功高深以及有教无类而闻名江湖。各路侠客,闻名而至。然,多数人只热衷于功法,而畏怯其内功难度,避而不修。殊不知,功法和内功乃相辅相成。。。

一、为何学

  1. 更好地使用Java类库,Java类库封装了大量的数据结构和算法,并做了优化。学习数据结构与算法可以更好地理解Java类库,进而能从中学习并更好地使用。比如,什么情况下用ArrayList好,什么情况下用LinkedList好。又比如,要用一个类,需要注意什么等等。
  2. 写出高效的代码,比如,同样根据RPC的原理,写出的RPC框架,为什么有的人写出来自己都不想用,而有的人写出来,开源给千千万万的人用,甚至被Apache收录。
  3. 更好地阅读开源框架的源码,以便更深地理解其原理和设计。引用一句话:内行看门道,外行看热闹。

二、怎么学

  1. 打蛇打七寸,抓住常用的;
  2. 学透彻,举一反三,深入理解;
  3. 使用场景,注意事项,学来就是用的;
  4. 边学边练,刷必要的题,如LeetCode上的;
  5. 创建一个GitHub工程,随时记录常用的数据结构和算法,逐渐沉淀;

某个算法很难理解时,借助一个简单的例子,去理思路是个很好的办法。

三、内容大纲

上面配图是用ProcessOn所画,点击图片可访问原文件,如果喜欢,请点个赞。

1、数据结构

  1. 数据结构与算法系列之数据结构:数组
  2. 数据结构与算法系列之数据结构:链表
  3. 数据结构与算法系列之数据结构:栈
  4. 数据结构与算法系列之数据结构:队列
  5. 数据结构与算法系列之数据结构:哈希表
  6. 数据结构与算法系列之数据结构:红黑树
  7. 数据结构与算法系列之数据结构:堆
  8. 数据结构与算法系列之数据结构:跳表
  9. 数据结构与算法系列之数据结构:位图
  10. 数据结构与算法系列之数据结构:字符串

2、算法思想

  1. 数据结构与算法系列之算法思想:贪心算法
  2. 数据结构与算法系列之算法思想:分治算法
  3. 数据结构与算法系列之算法思想:动态规划
  4. 数据结构与算法系列之算法思想:回溯算法
  5. 数据结构与算法系列之算法思想:枚举算法
  6. 数据结构与算法系列之算法思想:摊还分析

3、常用算法

  1. 数据结构与算法系列之常用算法:排序算法
  2. 数据结构与算法系列之常用算法:查找算法
  3. 数据结构与算法系列之常用算法:搜索算法
  4. 数据结构与算法系列之常用算法:字符串匹配算法
  5. 数据结构与算法系列之常用算法:LRU算法和LFU算法
  6. 数据结构与算法系列之常用算法:负载均衡算法
  7. 数据结构与算法系列之常用算法:一致性哈希算法
  8. 数据结构与算法系列之常用算法:Snowflake算法
  9. 数据结构与算法系列之常用算法:蓄水池抽样算法

四、总结

如果想在技术这条路上走的更远,数据结构与算法是必须迈过的门槛。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux系统之进程状态

    只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中...

    尜尜人物
  • Linux系统之运行状态分析及问题排查思路

    系统负载:在Linux系统中表示,一段时间内正在执行进程数和CPU运行队列中就绪等待进程数,以及非常重要的休眠但不可中断的进程数的平均值(具体load值的计算方...

    尜尜人物
  • Linux系统之常用命令

    环境:CentOS7X64(CentOS Linux release 7.5.1804)

    尜尜人物
  • 基于R语言的梯度推进算法介绍

    简介 通常来说,我们可以从两个方面来提高一个预测模型的准确性:完善特征工程(feature engineering)或是直接使用Boosting算法。通过大量数...

    CDA数据分析师
  • CVPR 2019 Oral 目标跟踪最强算法SiamRPN++开源实现

    SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks Bo Li *,...

    CV君
  • 业界 | 谷歌官方揭秘AutoDraw人工智能绘画工具原理:让机器学会理解艺术

    选自GoogleBlog 作者:David Ha 机器之心编译 参与:黄小天、李泽南、李亚洲 谷歌 4 月 11 日推出的 AutoDraw 是一个应用人工智能...

    机器之心
  • 异常检测算法在审计智能化的应用

    引用MBA智库百科的原文:内部审计,是建立于组织内部、服务于管理部门的一种独立的检查、监督和评价活动,它既可用于对内部牵制制度的充分性和有效性进行检查、监督和评...

    凯哥
  • PySpark ML——分布式机器学习库

    继续PySpark学习之路,本篇开启机器学习子模块的介绍,不会更多关注机器学习算法原理,仅对ML库的基本框架和理念加以介绍。最后用一个小例子实战对比下sklea...

    luanhz
  • pandas操作一列数据

    用户1733462
  • 跟我一起学docker(一)--认识

    IT故事会

扫码关注云+社区

领取腾讯云代金券