一、什么是数据结构
数据结构:是指相互之间存在着一种或多种特定关系的数据元素的集合。 程序=数据结构+算法
数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。
数据的物理结构:指数据的逻辑结构在计算机存储空间的存放形式
数据结构的运算
⑴ 建立(Create)一个数据结构;
⑵ 消除(Destroy)一个数据结构;
⑶ 从一个数据结构中删除(Delete)一个数据元素;
⑷ 把一个数据元素插入(Insert)到一个数据结构中;
⑸ 对一个数据结构进行访问(Access);
⑹ 对一个数据结构(中的数据元素)进行修改(Modify);
⑺ 对一个数据结构进行排序(Sort);
⑻ 对一个数据结构进行查找(Search)。
数据(data)—所有能输入到计算机中去的描述客观事物的符号
数据元素(data element)—数据的基本单位,也称节点(node)或记录(record)
数据项(data item)—有独立含义的数据最小单位,也称域(field)
数据结构(data structure)—数据元素和数据元素关系的集合
二、什么是算法
算法(a1gorithm)是对特定问题求解步骤的精确描述,它是指令或语句的有限序列。
一个算法一般具有下列5个重要特性:
(1)有穷性:一个算法必须总是在执行有穷步之后结束,即必须在有限时间内完成。
(2)确定性:算法中的每一条指令必须有确切的含义,不能产生多义性。
(3)可行性:算法中的每一条指令必须是切实可行的,即原则上是可以通过已经实现的基本运算执行有限次来实现的。
(4)输入:一个算法有零个或多个输人,这些输人取自于特定对象的集合。
(5)输出:一个算法有一个或多个输出,这些输出是同输入有某个特定关系的量。
在计算机科学研究中,算法与数据结构是相辅相成的。解决某一特定类型问题可以选定不同的数据结构,而且选择恰当与否直接影响算法的效率。
反之,一种数据结构的优劣要由实现各种操作时的算法来体现