Java数据结构与算法——数据结构与算法简介

  • 数据结构

数据

定义:

数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。

它不仅指狭义上的数字,还可以是具有一定意义的文字、字母、数字符号的组合、图形、图像、视频、音频等,也是客观事物的属性、数量、位置及其相互关系的抽象表示。例如,“0、1、2...`”、“阴、雨、下降、气温”“学生的档案记录、货物的运输情况”等都是数据。数据经过加工后就成为信息

计算机科学中,数据是指所有能输入到计算机并被计算机程序处理的符号的介质的总称,是用于输入电子计算机进行处理,具有一定意义的数字、字母、符号和模拟量等的通称。计算机存储和处理的对象十分广泛,表示这些对象的数据也随之变得越来越复杂。                                                                                                                     ——百度                   

信息

定义:

信息与数据既有联系,又有区别。数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等。而信息是数据的内涵,信息是加载于数据之上,对数据作具有含义的解释。数据和信息是不可分离的,信息依赖数据来表达,数据则生动具体表达出信息。数据是符号,是物理性的,信息是对数据进行加工处理之后所得到的并对决策产生影响的数据,是逻辑性和观念性的;数据是信息的表现形式,信息是数据有意义的表示。数据是信息的表达、载体,信息是数据的内涵,是形与质的关系。数据本身没有意义,数据只有对实体行为产生影响时才成为信息。    ——百度           

数据结构

定义:

数据结构就是指数据存储,组织的方式,比如数组,列表,集合等数据结构。

比如说存放图书,书架就是一种数据结构,如下图。书架每一行可以放,然后行中间还有挡板,这是一种数据结构例子。

Java数据结构与算法——数据结构与算法简介

                                            图1-2

然后所有图书就是数据,是一个全集

每本书就是数据元素,每个数据元素有若干个数据项,比如每本图书有作者,价格等,这些就是对应的数据项

具有相同性质的一类图书就是数据对象,是一个子集

如下图

Java数据结构与算法——数据结构与算法简介

下图是数据结构的分类

Java数据结构与算法——数据结构与算法简介

 

  • 算法

算法的定义:

在有限步骤内解一个数学问题的一个过程,步骤常常包含某一重复操作

算法的特征:

输入性:有零个或多个外部量作为算法的输入

输出性:算法产生至少一个量作为输出

确定性:算法中每条指令清晰,无歧义

有穷性:算法中每条指令的执行次数有限,执行每条指令是时间也有限

可行性:算法原则上能够精确的运行,而且人们用纸和笔做有限次运算后即可完成

  • 算法与数据结构的关系

1.数据结构是底层,算法高层;

2.数据结构为算法提供服务;

3.算法围绕数据结构操作;

  • 算法与数据结构的重要性

  1. 算法是程序的灵魂,优秀的程序可以在海量数据计算时,依然保持高速计算
  2. 一般来讲,程序会使用了内存计算框架(如spark)和缓存技术(如redis)来优化程序再深入思考一下,这些计算框架和缓存技术,他的核心功能是算法
  3. 如果你不想当码农,请努力学习数据结构与算法

 

 

程序 = 算法 + 数据结构    ——图灵奖的Pascal之父——Nicklaus Wirth