算法是对特定问题求解步骤的描述。对于同一个问题,我们可能会用不同的算法来求解,我们可以根据算法的可读性、效率等进行取舍。针对不同的数据保存方式,也会有不同的算法。

很多同学会觉得,我工作经验五年,工作游刃有余,基本上遇不到什么解决不了的问题,你前面讲了那么多算法,算法真的有用吗,我在工作中貌似从来都没有遇到呀!这么想的同学,一定要注意,可能此时你已经遇到了程序员的天花板,业务代码写的再多其实对你来说已经没有什么提高了。当你35岁的时候,你会发现自己真的到了焦虑的时候了,你会觉得自己跟二十来岁毕业几年的小伙伴相比较,并没有什么优势嘛!人家还年轻、薪资也低、能加班、愿意吃苦。

程序员,应该做到自己的不可替代,从哪里做呢?就要从这些底层的,貌似没什么用的地方下功夫。算法和数据结构是整个计算机语言的核心。平时你只是在使用别人开发好的框架来写代码,那你有没有想过,这些框架是如何被编写出来的呢?甚至于说,你用Python,用Java,用Go,用JS编程,那这些语言又是谁编写出来执行你写的代码的呢?这些语言的元语言又是什么?

其实,一切问题的核心,就是算法和数据结构在中间起作用。学好了,写一个自己的解释器玩玩不是很牛逼?

从本章节开始,我们会把前面学习过的算法放到具体的使用环境中,看看这些算法在程序设计中的使用方式。

我们不重复制造轮子,我们只来研究一下别人造好的轮子为什么转的那么快,跑的那么稳。

一、常见算法实践大纲

  1. 多年以前的电脑算命是怎么回事?
  2. 那个神奇的微软小冰,她为啥那么聪明?
  3. 遗传算法简介
  4. 程序是如何进行选举的?选举没结果就脑裂?
  5. Hystrix中的限流算法详解
  6. 如何用队列实现一个高效的线程池?
  7. 浏览器的前进和后退操作中蕴含着怎样的算法呢?
  8. 缓存中的算法研究
  9. 如何对大数据集按某个字段排序?
  10. 为什么Redis一定要用跳表来实现有序集合?
  11. 怎么迅速给ip地址进行定位?
  12. 使用BCrypt加密算法来对敏感数据进行加密,防止脱裤行为的产生
  13. Hash算法在分布式系统中的使用场景
  14. 使用Redis实现TopN中的算法玄机
  15. 在Java中的HashMap为什么要使用红黑树来实现呢?
  16. 如何使用图来存储微信(单双向)、微博(强弱)好友关系?(单双向)
  17. 分治算法在大数据领域中的运用
  18. 电影《蝴蝶效应》中回溯算法的核心思想
  19. 为什么每次点外卖你怎么都凑不到你的那碗卤肉饭呢?
  20. 搜索引擎中的拼写纠错功能是如何实现的?
  21. 编辑器是如何确定源文件的依赖关系呢?
  22. 地图软件的导航功能如何能找到最优出行路线呢?
  23. 如何实现海量URL去重?
  24. 如何利用朴素贝叶斯算法过滤垃圾短信?
  25. 推荐算法是如何实现的?
  26. 如何用A*搜索算法实现游戏中的寻路功能?
  27. 搜索引擎为什么速度那么快-倒排索引介绍
  28. 如何利用并行提高算法的执行效率?
  29. 你所见到的短网址系统是如何实现的?
  30. 程序员朋友,当你坐电梯的时候有没有情不自禁地想起电梯算法是怎样的呢?
  31. 澳门皇家**,为什么你十赌十输?
  32. 朋友,**彩、赌马、股票推荐,为什么一茬一茬的韭菜就是割不完呢?
  33. 阿尔法狗到底有多厉害?
  34. AI现在都可以写代码了,你麻麻没告诉你吗?
  35. 张学友的演唱会咋成了逃犯克星了呢?
  36. Siri是如何搜集你的声音的?
  37. 待续。。。

以上内容随时有增删,以最终博客为准,本专题以实战为主,大家有好的选题也可以私信我。更可以关注我的公众号,一起交流。扫描就可以哦!


我的微信公众号:架构真经(id:gentoo666),分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。每日更新哦!

算法高级(1)-概述

参考资料:

  1. 部分内容参考自王争的极客时间《数据结构与算法之美》

 

相关文章: