数据结构与算法入门

一、基本概念:

1.数据(Data):信息的载体,客观事物的符号表示。说白了,数据就是用户输入到计算机被计算机程序处理的一些符号。

2.数据元素(Data Element):数据的基本单位,在计算机中作为一个整体来考虑。又称为元素、节点或者记录。

3.数据项(Data ltem):一个数据元素由若干个数据项组成。包括组项和基本项,其中基本项是具有独立含义的最小标识单位。

4.数据对象 :是性质相同的数据元素的集合,是数据的一个子集,针对特定的应用。与面向对象系统中的数据对象不同,后者还要考虑数据对象的相关操作。

二、数据结构:数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。

说的通俗点,编程=数据结构+算法

而数据结构就是研究数据间的关系而存在的,分为存储结构和逻辑结构。存储结构依赖于物理结构,作用于数据结构上的操作是讨论数据结构的另一个重要方面,操作的实现依赖于相应的存储结构。

逻辑结构:是指数据对象中数据元素之间的相互关系,也是我们关注的重点。
物理结构:是指数据的逻辑结构在计算机中的存储形式。

1.数据的逻辑结构分类

一共分为四种,从简单到复杂,分为四种,分别为线性结构:关系是一对一的;集合:关系为空(即数据元素间没有什么关系);树形结构:关系为一对多的层次结构;图结构:关系为多对多。

2.数据的存储结构

这里说的存储结构是相对于内存而言的。对于磁盘等外部存储结构而言,数据往往是以文件形式存储的。

分为两种,分别为顺序存储、链接存储

顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。
链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。
三、算法

1.定义:

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。
2.特性
算法具有五个基本特征:输入、输出、有穷性、确定性和可行性。
(1)算法具有零个或多个输入。尽管对于绝大多数算法来说,输入参数都是必要的,但有些算法是没有输入的。
(2)算法至少有一个或多个输出。假设算法没有输出,那么算法也就失去了意义。
(3)算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成。如果算法永远执行不完,那么这个算法也就失去了意义啊。
(4)算法的每一个步骤都具有确定的含义,不会出现二义性;算法在一定条件下,只有一条执行路径,相同的输入只能有唯一的输出结果;算法的每个步骤都应该被精确定义而无歧义。即每一步都是按照确定的某唯一步骤在执行。
(5)算法的每一步都必须是可行的,也就是说,每一步都能够通过执行有限次数完成。
菜鸟的第一篇微博,参考大神之作,望批评,望指正。




你可能感兴趣的:(数据结构与算法)