美文网首页
数据结构

数据结构

作者: 雪茸川 | 来源:发表于2019-08-02 14:11 被阅读0次
  • 存储对象的集合
  • 集合不同的类型有不同的查找方法

抽象数据类型(ADT)

把数据类型和数据类型上的运算捆在一起,进行封装
常用的数据运算:
插入、删除、修改、查找、排序

  • 组织基本数据类型
    int, float, chart
  • 内存
    连续的存储单元,一个字节会有一个地址标识
    int:4个字节,char:1个字节

顺序表

  • 一种数据,相同类型
    Loc[k] = Loc[0]+k*c
  • 不同类型
    顺序表存储的是元素地址

顺序表的结构与实现

  • 元素存储区的容量
  • 当前表中已有的元素个数
    表头+ 数据

一体式结构和分离式结构

顺序表的扩展,分离式比较方便
扩充的两种策略

  • 每次增加固定数目,线性增长
  • 每次翻倍

顺序表的操作

  • 插入
  1. 尾端增加元素,时间复杂度O(1)
  2. 保证顺序的元素插入O(n)
    3.非保序的元素插入O(1)
    *删除

python中的顺序表

List 特征

  • 按下标位置索引 O(1)
  • 任意加元素,分离式存储,表头不变
  • 空列表,8个元素存储区
  • 4倍增长达到一定阈值后2倍增长

链表

将元素存放在通过链接构造起来的一系列存储块里
特点:可以充分利用计算机空间,实现灵活的内存动态管理

链表的实现

元素 = 数据区+链接区

单向链表

单链表的操作
python中地址表示

python中声明的变量,保存的是地址

特点:

  • 只能在一端(top)输入(push)和输出(pop)
  • 先进后出

栈结构的实现

栈的操作:

  • Stack() 创建一个新的栈
  • push(item) 添加一个新的元素item到栈顶
  • pop() 弹出栈顶元素
  • peek() 返回栈顶元素
  • is_empty() 判断栈是否为空
  • size() 返回栈元素个数

队列

特点:

  • 一端添加,另一端取
  • 先进先出

相关文章

  • IOS开发_数据结构

    1、数据结构; 2、算法; 3、数据结构与算法; 1、数据结构; 1.1 概念: 数据结构:数据结构是计算...

  • py基础

    5Python集合容器 数据结构数据结构 一般将数据结构分为两大类: 线性数据结构和非线性数据结构。 线性数据结构...

  • 思维导图之数据结构+算法

    数据结构+算法 = 程序 数据结构比较 参考文章 数据结构与算法数据结构与算法(java)

  • 数据结构与算法分析:大纲]

    00数据结构与算法分析:大纲01数据结构:数组02数据结构:链表03数据结构:栈03数据结构:队列 本系列课程主要...

  • 数据结构:数组

    00数据结构与算法分析:大纲01数据结构:数组02数据结构:链表03数据结构:栈03数据结构:队列 数组 数组是一...

  • 数据结构—概述

    数据结构概述 数据结构概述:程序设计 = 数据结构 + 算法数据结构:数据元素之间存在所有特定关系的集合,数据结构...

  • OVS 源码分析整理

    OVS 核心代码 OVS 架构 OVS 主要的数据结构数据结构关系图主要的数据结构和数据结构的参数数据结构代码 d...

  • 01. 数据结构与算法绪论

    一、数据结构 1. 什么是数据结构 2. 数据结构的分类 3. 常用的数据结构 4. 数据结构的应用表现 二、算法...

  • 数据结构与算法 - 查找

    数据结构与算法系列文章数据结构与算法 - 时间复杂度数据结构与算法 - 线性表数据结构与算法 - 树形结构数据结构...

  • C#之数据结构(上)

    数据结构 一般将数据结构分为两大类: 线性数据结构和非线性数据结构。 线性数据结构有: 线性表、栈、队列、串、数组...

网友评论

      本文标题:数据结构

      本文链接:https://www.haomeiwen.com/subject/ghwkdctx.html