数据结构和算法的一些思考

数据结构和算法一直是编程中不可缺乏的话题,可是以前对数据结构和算法也没有仔细思考过,只知道数据结构和算法,程序中会用到,可以提升程序性能。前几天看书,发现了几个概念,加深了我对数据结构和算法的认识,记录一下。算法

计算机科学

首先,让咱们了解一下什么是计算机科学,可能由于名字的缘由,你们认为计算科学是研究计算机的,其实并非这样的。那是作什么的?计算机科学是定义问题,如何解决问题以及得出问题解决方案研究。好比给出一个问题,给出这个问题的解决方案即算法,就是计算机科学的目的。值得注意的是,有的问题没有解决方案,计算机科学须要将这些问题分类出来。编程

编程

当计算机科学研究出了问题的解决方案,咱们就能够经过编程将方案表达出来。那什么是编程?就是将一个过程或者算法用程序语言表达出来,这样计算机就能够执行。编程语言必须提供一些基本的东来完成算法的编写,流程控制语句,数据类型等数据结构

数据类型

当咱们经过编程来表达算法的时候,有一些基本的东西,好比控制流程和一些数据,而咱们要将一个数据表示出来,就须要数据类型,好比整数、字符串框架

数据结构

咱们已经有了数据类型和控制流程了,能够将一个算法经过编程完整的表示出来,可是有时候算法太复杂了,咱们使用基本数据类型的时候,须要在细节上花费不少精力来编写如何存储和使用数据,这候咱们能够建立一种更加高层次的数据存储和使用方式即数据结构,这样咱们编程实现算法时,就能够关注更大的目标,没必要关注数据存储的细节了。咱们常常用到的数据结构好比队列,堆,树数据结构和算法

算法

上面屡次提到了算法,那算法到底是什么?对于一个问题,咱们得出答案的过程能够说是算法。编程语言

为何要学习算法和数据结构?

1. 算法和数据结构的第一目的就是提升程序性能性能

2. 不少框架和底层应用中都用到了算法和数据结构,学好算法和数据结构,咱们能够更好地理解底层原理学习

相关文章
相关标签/搜索