写点什么

Qz 学算法 - 数据结构篇 (引入)

作者:浅辄
  • 2023-04-20
    吉林
  • 本文字数:792 字

    阅读完需:约 3 分钟

其实自己一直想写算法有关的系列,但出于时间的关系一直没有开展有关算法的学习,掘金现在正好有这个活动,那就加油写下去吧.那么这个系列就以数据结构为开篇吧

一.引入

1.经典算法面试题

  • 字符串匹配问题 1)有一个字符串 str1 = "世界你好 你好 Java 你好 Java 你好数据结构菜鸟",和一个子串 str2 = "你好 Java" 2)现在要判断 str1 是否含有 str2,如果存在,就返回第一次出现的位置,如果没有,则返回-1 3)要求用最快的速度来完成匹配 4)你的思路是?

  • 暴力匹配

  • KMP 算法<<部分匹配表>>

  • 汉诺塔

  • 分治算法

  • 八皇后

  • 回溯问题

  • 马踏棋盘

  • 图的深度优化遍历算法(DFS)+贪心算法优化

2.数据结构和算法的重要性

  • 算法是程序的灵魂,优秀的程序可以在海量数据计算时,依然保持高速计算

  • 一般来讲程序会使用了内存计算框架(比如 Spark)和缓存技术(比如 Redis 等)来优化程序,再深入的思考一下,这些计算框架和缓存技术,它的核心功能是哪个部分呢?

  • 拿实际工作经历来说,在 Unⅸ下开发服务器程序,功能是要支持上千万人同时在线,在上线前,做内测,一切 OK 可上线后,服务器就支撑不住了,公司的 CTO 对代码进行优化,再次上线,坚如磐石。你就能感受到程序是有灵魂的,就是算法。

  • 目前程序员面试的门槛越来越高,很多一线 IT 公司,都会有数据结构和算法面试题(负责的告诉你,肯定有的)

  • 如果你不想永远都是代码工人,那就花时间来研究下数据结构和算法

二.数据结构和算法的介绍

1.数据结构和算法的关系

  • 数据 data 结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了

  • 数据结构学好数据结构可以编写出更加漂亮,更加有效率的代码。 要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决

  • 程序=数据结构+算法

  • 数据结构是算法的基础,换言之,想要学好算法,需要把数据结构学到位。


所以说,要想算法好,学好数据结构是很有必要的,这要求我们要多想,多思考,在下面的基本结构中会有博主的个人思考,如果有小伙伴看了觉得有所启发,还请来个三连

发布于: 刚刚阅读数: 3
用户头像

浅辄

关注

大丈夫生于天地之间,岂能郁郁久居人之下 2022-11-08 加入

Java、Spider、Go

评论

发布
暂无评论
Qz学算法-数据结构篇(引入)_数据结构_浅辄_InfoQ写作社区