数据结构入门简介

数据结构入门简介_第1张图片
图片

1. 算法 + 数据结构 = 程序

问题(problem):从输入到输出的一种映射函数

数据结构(Data Structure):逻辑数据结构在计算机中的存储表达,支持相应的操作

算法(algorithhm):对特定问题求解过程的描述方法

程序(program):算法在计算机程序设计语言中的实现


2.层次

逻辑结构:

(1).线性表、栈和队列、字符串

(2).二叉树、树、图

运算:

(1).内排序、文件管理、外排序

(2).检索、索引


3.问题求解

(1).编写计算机程序的目的:解决实际的应用问题

(2).问题抽象:分析和抽象任务需求,建立问题模型

(3).数据抽象:确定恰当的数据结构表示数学模型

(4).算法抽象:在数据模型的基础上设计合适的算法

(5).数据结构+算法,进行程序设计:模拟和解决实际问题


4.什么是数据结构

(1)结构:实体和关系

(2)数据结构:

  • 按照逻辑关系组织起来的一批数据

  • 按一定存储方法把它存储在计算机中

  • 在这些数据上定义一个运算的集合


    数据结构入门简介_第2张图片
    CSDN
  • 数据的逻辑结构:线性表 ⊆ 二叉树 ⊆ 树 ⊆ 图
  • 数据的存储结构:顺序方法、链接方法、 索引方法、散列方法
  • 数据的运算:增、删、查、改、 排序、检索

(3)数据结构的逻辑组织
线性结构:线性表(表、栈、队列、串等)
非线性结构:树(二叉树、Huffman树、二叉检索树等) 图(有向图、无向图等)

无向图

(4)数据的存储结构

逻辑结构到物理存储空间的映射

计算机主存储器(内存)

  • 非负整数地址编码,相邻单元的集合
  • 基本单元是字节
  • 按地址随机访问
  • 访问不同地址所需时间基本相同

5.抽象数据类型

  • 简称ADT(Abstract Data Type)

  • 定义了一组运算的数据模型

  • 与物理存储结构无关

  • 使软件系统建立在数据之上(面向对象)

  • 模块化的思想的发展

  • 隐藏运算实现的细节和内部数据结构

  • 提高复用的力度和粒度(软件复用)

  • 由三元组 <数据对象,数据关系,数据操作> 表示

  • 数据对象D

  • 数据关系S

  • 数据操作P


template   // 模板参数为类型Type  
class className  {  
private:        // 数据结构的的取值类型和取值空间  
    Type  dataList;          // 定义数据及其存储方式  
    ……                                    
public:              // 运算集  
    methodName();    // 定义对数据的操作  
    ……                        
};   

!看到最后不要忘记给辛苦码字的学生党点个赞!v

你可能感兴趣的:(数据结构入门简介)