算法高级(1)-概述

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

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

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

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

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

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

一、常见算法实践大纲

  1. 多年以前的电脑算命是怎么回事?
  2. 那个神奇的微软小冰,她为啥那么聪明?
  3. 遗传算法(Genetic Algorithm)简介
  4. 分布式系统选举算法及脑裂
  5. 共识(Raft)算法
  6. 限流(Rate limit)算法详解
  7. Hystrix实现熔断、限流与服务保护中的算法详解
  8. 线程池的实现方式
  9. 如何实现浏览器的前进、后退功能
  10. 缓存淘汰算法研究
  11. 分布式系统常见负载均衡算法
  12. 常见负载均衡算法Java代码实现
  13. Nginx的负载均衡策略
  14. LVS的负载均衡策略及LVS+KeepAlived+Nginx实现高可用方案
  15. Dubbo的负载均衡算法
  16. SpringCloud中的负载均衡算法
  17. Redis Cluster选举机制
  18. 不得不懂的Redis Cluster数据分片机制
  19. 集群容错算法
  20. 如何通过IP地址进行定位?
  21. BCrypt加密算法,号称目前最安全的算法之一
  22. 彩虹表(Rainbow Table)
  23. 一致性哈希算法在分布式系统中的使用场景
  24. 分布式TopN算法玄机
  25. 在Java8中为什么要使用红黑树来实现的HashMap?
  26. 分治算法在大数据领域中的运用
  27. 递归、分治、动态规划、贪心、回溯、分支限界几大相似算法比较
  28. 电影《源代码》中蕴含的回溯算法介绍
  29. 外卖凑单算法-为什么每次点外卖你怎么都凑不够那碗卤肉饭呢?
  30. 搜索引擎中的拼写纠错功能该如何实现?
  31. 搜索引擎中的自动补全功能该如何实现?
  32. 拓扑排序-maven依赖关系的确定
  33. 搜索引擎速度快的秘诀-倒排索引介绍
  34. 最优路径选择-导航软件是怎么选择最佳路线的?
  35. 如何利用并行提高算法的执行效率?
  36. 微信、微博中的好友关系该如何设计?
  37. 短网址(short URL)系统如何实现?
  38. 坐电梯时情不自禁想起的电梯调度算法实现原理
  39. 基于分治算法完美解决的人类基因组计划
  40. 推荐算法实现
  41. 大数定律-澳门皇家菠菜,为什么你逢赌必输?
  42. 过滤垃圾邮件、短信?-朴素贝叶斯算法
  43. 人脸识别:张学友的演唱会咋成了逃犯克星了呢?
  44. 阿尔法狗到底有多厉害?
  45. 波士顿动力机器人ATLAS
  46. AI现在都可以写代码了-辅助编程
  47. 数据挖掘十大算法简介

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

二、总结

学习课程的目的:面试、延长自己的职业生涯、成为不可替代的大牛


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

参考资料:

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

 

你可能感兴趣的:(算法高级)