数据结构与算法

数据结构与算法,第1张

引言

首先我们要问,学习数据结构和算法有用吗,每个人可能都有不同的看法,作为一个入行不久甚至工作很多年程序员,很多人往往日常忙于负责系统业务实现,更多的关注重心在于项目中用到的技术本身,比如数据库,Java技术栈,大数据技术栈等等此类。


当然,掌握了各种技术以后,就相当于一个武林中人有了各种招式,足以应对系统开发中的很多问题。


但是,我们也常常听说,算法是一个武林高手的内功,为什么会有此说法,我想通过下面几个例子,来进行说明。


1. 如果让你去实现一个String类,会有哪些想法以及考虑。


     (1). 一个String对象底层如何存储(用什么样的数据结构来定义一个String对象)
     (2). 会考虑实现哪些方法,以及如何实现, 比如。


indexOf(String str); //后面我们会说明主要有两种算法【暴力匹配和KMP算法】,那么Java中又是如何实现 concact(String str); compareTo(String anotherString); hashCode(); 等,

2. 建立索引可以加快mysql查询性能,那么为什么mysql数据库底层采用B+树和hash索引,两者有什么区别以及除此之外还有哪些方式以及mysql为什么不用。


3. 设计一个导航程序,从一个地点出发,到另一个城市,途中可能会经过很多的城市,每两个城市之间的路程长度各不相同,如何设计一个算法,给司机推荐最优路线。


4.此外,假如我们计算机内存只有8G,磁盘空间有32G,那么如何用这台计算及实现16G数据排序问题。


通过上述的例子,我们应该已经有了一些自己的思考,以及简单的初步说明了算法在解决这些问题上的重要性。


此外,当谈及算法时,数据结构又必不可少,数据结构是研究数据的组织以及管理形式,数据结构是算法的基础。


通过后面的一些文章,希望能和大家一起学习,探讨,交流,逐步加深对算法的理解以及使用,愿每个在奋斗的你都能被温柔以待。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/562481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-01
下一篇 2022-04-01

发表评论

登录后才能评论

评论列表(0条)

保存