数据结构学习笔记(一)--绪论

1.1引言

计算机的应用不再局限于科学计算,而是更多的用于控制,管理,数据处理等非数值计算的处理工作。解决非数值计算的工作通常经历两个阶段:
(1)逻辑分析:分析问题的数据特征以及数据之间的关系,分析解决问题的逻辑算法;
(2)物理实现:确定数据及其关系在计算机中的存储方式,编程实现物理逻辑算法。


实际问题
逻辑结构
算法
存储结构
程序
结果
                  用数据结构求解问题的步骤

数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象及其关系和操作等的学科。它包含三个组成部分:数据的逻辑结构,数据的物理结构和数据的运算结构。

1.2数据结构的基本概念

数据:数据是客观事物的符号,在计算机科学中是指所有能输入到计算机中并被计算机处理的符号的总称,它是计算机程序加工的“原料”。
数据元素:数据元素是组成数据的、有一定意义的基本单位,在计算机中经常作为整体处理,也被称为记录。
数据项:数据项是组成数元素的基本单位,一个数据可以由若干数据项组成,是组成数据的最小的、不可分割的单位。

1.3逻辑结构和物理结构

数据的逻辑结构:从逻辑的角度来观察数据、分析数据,与数据的逻辑结构无关,独立于计算机之外。常见的逻辑结构有集合、线性结构、树形结构、图形结构。
数据的存储结构:数据的存储结构又叫做数据的物理结构,是数据在计算机中的存在形式,主要的存储结构有顺序存储结构、链式存储结构、索引、散列。

1.4认识算法

程序=数据结构+算法
算法是对特定问题求解步骤的一种描述,是指令的有限序列,其中每一条指令表示一个或多个操作。
算法五大特性:1.输入:一个算法有一个或多个输入;
2.输出:算法有至少一个或多个输出;
3.确定性:算法的每一步都是确定的定义,无二义性;
4.有穷性:算法在执行有限的步骤后,自动结束不会出现无限循环,并且每一步都在可接受时间内完成;
5.可行性:算法的每一步骤都可以通过已经实现的基本运算的有限次数执行得以实现。
算法评价标准:1.健壮性:健壮性是指一个算法对不合理数据输入的反应能力和处理能力,也称为容错性;
2.可读性:算法的可读性是指一个算法可供人们阅读的容易程度。
3.正确性:算法的正确性是评价一个算法优劣的最重要的标准;
4.复杂度要求,包含时间复杂度和空间复杂度。
常见的时间复杂度有:
O(1)<O(log2n)<O(n)<O(n2)<O(23)<O(2n

1.5抽象数据类型

一个抽象数据类型(abstract data type ADT)是一个数据类型和定义在该数据结构上的操作。常用于以下结构:
ADT抽象数据类型名{
数据对象:<数据对象的定义>;
数据关系:<数据关系的定义>;
基本操作:<基本操作的定义>

发布了12 篇原创文章 · 获赞 5 · 访问量 9967

猜你喜欢

转载自blog.csdn.net/weixin_44532540/article/details/87918644
今日推荐