zoukankan      html  css  js  c++  java
  • 顺序表

    顺序表

    • 数据结构中存储的元素是有顺序的,顺序表的结构可以分为两种形式:单数据类型(数组)和多数据类型(列表)。
    • python中的列表和元组就属于多数据类型的顺序表
    • 单数据类型顺序表的内存图(内存连续开启)

    单数据类型的顺序表:
    a[0]就是偏移0位,就是a所指向的首地址,a[1]是偏移1位。就是加上4个字节。指向了Ox4,依次类推,数组就是单数据顺序表。按照固有的偏移进行偏移,找出索引所表示的数据。所以存储数据都是相同的。符合公式,偏移量*数据字节数。
    
    • 多数据类型顺序表的内存图(内存非连续开辟)

    多数据类型的顺序表:开辟了2块内存空间。一个就是连续的内存空间,就像上图的0x2,0x6,0xA,他们中存储的都是不同数据类型所开辟空间的内存地址。a变量这个列表还是指向首地址。当我们用偏移就是索引来取出数据时,也是按照4个字节来偏移。找出连续内存空间的地址。这些地址存储的是不同数据类型的内存地址,这样我们就可以得到不同数据类型的开辟的空间,就找到不同数据类型的数据了。与单数据顺序表不同之处在于不同数据类型需开辟他们自己的空间。而我们则还需开辟连续空间存放他们的内存地址。
    

    *顺序表的弊端:顺序表的结构需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁。(就相当于我跟列表中插入数据,后边的指向不同数据类型的内存地址,需要往后挪,这样需要数据的搬迁)

  • 相关阅读:
    socket架构
    异常处理
    类的装饰器
    with&as上下文管理协议
    软件开发规范
    面向对象-描述符
    面向对象-迭代器
    面向对象编程多种特性
    体验Visual Studio 2015 之 MVC
    MVC 好记星不如烂笔头之 ---> 全局异常捕获以及ACTION捕获
  • 原文地址:https://www.cnblogs.com/zzsy/p/12682203.html
Copyright © 2011-2022 走看看