什么是数据结构和算法?

网友解答: 能否灵活高效的运用数据结构与算法,通常是评价一个程序员是高手还是菜鸟的重要一环。数据结构在计算机相关专业的本科阶段,会有一门课专门叫做数据结构,我们当时用的教材是清华大学出版

网友解答:

能否灵活高效的运用数据结构与算法,通常是评价一个程序员是高手还是菜鸟的重要一环。

数据结构

在计算机相关专业的本科阶段,会有一门课专门叫做数据结构,我们当时用的教材是清华大学出版,严蔚敏主编的《数据结构》(C语言版)。这本书里面详细介绍了程序员常用的各种数据结构,如数组,表,堆栈,队列,图,树等。如果你了解上面任意一个概念,那你大概就能由点及面推测出数据结构是什么,我总结认为,数据结构是一种有规律的存储并操作数据的方式,可以看做建房子阶段的材料,比如混凝土,砖块,钢筋,都属于一种数据结构。

算法

算法也是计算机相关专业在本硕阶段都绕不过去的重要课程,我们上本科期间,学的教材是《算法导论》。

算法,可以描述为对一个问题的解决方案与策略,是通过操作各种不同的数据结构来解决问题的一种方法。算法独立于编程语言,代表的是一种思想。它是能够驱动编程语言与数据结构的灵魂。这也是为什么在很多互联网公司面试的时候喜欢问算法的原因,因为能够用高效准确的算法解决问题的人才,通常都是头脑清晰的聪明人,这类人就算在操作编程工具方面有欠缺,也能够凭借自身优势快速学习。

相辅相成

上面说算法驱动数据结构,反过来,合适的数据结构同样能够提高算法的效率。

比如要实现一个先进后出的数据结构,在现有JAVA的接口下,只需要用Stack即可,但是假如从来没有存在过Stack,只有一个先进先出的数据结构List,那么你就需要自己利用List来实现先进后出(这也是一个常见面试题),无形中就增加了算法的工作量。

综上,数据结构是建筑过程中的砖瓦,算法是设计方案。当方案与材料相匹配,才会有一个完美的房子。

以上我的浅见,欢迎各位在下方评论区留言互动。

我是苏苏思量,来自BAT的Java开发工程师,每天分享技术见闻,欢迎关注我,与我共同进步。

网友解答:

什么是“算法”

算法,一看字面就知道,肯定是“计算方法”的简称啦,特指“计算机的计算方法”,所以,算法是由电脑程序来实现的。

算法,英文叫Algorithm,就是为了让电脑解决一个问题而设计出来的一套计算方法,这套计算方法的设计是依靠“数学模型”的建立。

也就是说,程序员在设计算法之前,会将实际问题理解分析,归纳为一个“具体的数学问题”。

算法是解决问题的计算方法

标签: