zoukankan      html  css  js  c++  java
  • 数据结构与算法之绪论

    什么是数据结构

    简单来说可以解释为:程序设计=数据结构+算法;

    主要是用来研究数据结构的关系,数据元素之间存在的一种或多种特定关系的集合;

    数据结构的分类

    按照传统意义上来讲,数据结构可以分为两类:逻辑结构和物理结构;

    逻辑结构指的是数据对象中数据元素之间的相互关系。

    主要有四种逻辑结构:

    1. 集合结构:集合结构中的数据元素同属于一个集合体中,但是它们之间没有其他关联;
    2. 线性结构:线性结构中的数据元素之间是一对一的关系,如同夫妻关系;
    3. 树形结构:树形结构中的数据元素之间是一对多的关系,如同一个爸爸对多个自己的孩子;
    4. 图形结构:图形结构中的数据元素之间是多对多的关系,我更倾向于把它理解成一个网状结构,如同在社会中人与人之间都是相互关联的;

    物理结构的存储

    物理结构中的存储器主要是针对内存而言的,硬盘、软盘、光盘等外部存储器的数据组织通常用文件结构来描述;

    数据元素的存储形式有两种:顺序存储和链式存储。

    1. 顺序存储结构是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的(编程语言的数据结构就是属于这种);
    2. 链式存储结构是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的;它比顺序存储更灵活(类似银行排号办理业务),但是不能反应其逻辑关系,所以需要用一个指针存放数据元素的地址(指针指向的是下一个地址)—通过地址就可以找到相关联数据元素的位置
  • 相关阅读:
    luogu 2742 二维凸包
    poj2398 Toy Storage 计算几何,叉积,二分
    luoguP1742 最小圆覆盖
    bzoj4501 旅行
    cf1173 D. Nauuo and Circle
    bzoj3745: [Coci2015]Norma 分治,单调队列
    bzoj1176: [Balkan2007]Mokia cdq
    luoguP3964 [TJOI2013]松鼠聚会
    浅谈数学期望
    tarjan模板(带注释)
  • 原文地址:https://www.cnblogs.com/yidanma/p/11962047.html
Copyright © 2011-2022 走看看