顺序表的个人心得

news/2025/2/26 7:09:16
  1. 为什么要有顺序表? 为了有序存储连续的数据。
  2. 顺序表存储:开辟连续的内存空间,空间里保存真实数据的引用地址,因为地址固定存储四个字节,可以让当前数据结构产生一种规律,不管访问哪个元素,用开始位置+数据位置*4个字节都能快速找到数据。
  3. 顺序表分离和不分离存储模式:除了专门存储数据的内存,顺序表还有一个表头,分离模式下表头保存的是内存空间长度、元素合集、第一个元素的地址引用,不分离模式将空间长度和元素合集直接放在连续的内存空间中
  4. 为什么顺序表要有两种模式?因为当内存空间达到上限,会新建一片空间将原来数据进行拷贝,注意原来的内存地址都将变成新空间的地址,分离模式的好处就在这里,我们只要把第一个元素的地址引用改掉就可以快速定位新内存,不分离的话不仅要更改表头地址,还要更改引用了旧内存空间的变量,这里单论效率分离模式完胜。
  5. 顺序表扩展类别,第一种存储空间慢了以后扩容固定的空间,优点是内存空间不会有太多浪费,缺点是增多扩容次数,让性能下降…第二种直接扩展自身的二倍,优缺点反过来。大部分情况下会选择第二种,因为有一句名言这么说:时间换空间,或空间换时间
  6. 常见的顺序表,python中的list,tuple,python中扩展顺序表先是增大5倍,到上限后减小到一倍。

http://www.niftyadmin.cn/n/3172424.html

相关文章

day4-用户授权

重置数据库员密码 mysqladmin -hlocalhost -uroot -p password "" 恢复数据库管理员密码 [rootlocalhost ~]# /etc/init.d/mysqld stop [rootlocalhost ~]# /etc/init.d/mysqld start --skip-grant-table mysql>update mysql.user set passwordpassword("新密…

17.动态规划入门

一、算法介绍 1.简介 本次课我们将介绍介绍动态规划(Dynamic Programming, DP)及其解决的问题、根据其设计的算法及优化。 动态规划是编程解题的一种重要手段,它是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规…

Linux设备驱动程序学习笔记——第七章时间、延迟及延缓操作

Linux设备驱动程序学习笔记 第七章时间、延迟及延缓操作 一、度量时间差 内核通过定时器中断来跟踪时间流 时钟中断由系统定时硬件以周期性的间隔产生&#xff0c;这个间隔由内核根据HZ的值设定&#xff0c;HZ是一个与体系结构相关的常数&#xff0c;定义在<linux/param.h…

Linux设备驱动程序学习笔记——第八章分配内存

Linux设备驱动程序学习笔记 第八章分配内存 一、kmalloc函数的内幕 &#xff08;1&#xff09;flags参数 //kmalloc原型 #include<linux/slab.h> void *kmalloc(size_t size, int flags);//flags分配标志&#xff0c;最常用的是GFP_FERNEL分配标志&#xff1a; GFP_A…

Django 分组查询与ordering字段 巨坑

样例&#xff1a; class Test(Model):class Meta:db_table testordering [字段1&#xff0c; 字段2&#xff0c; 字段3]django里常见的 group by 查询写法 : Test.objects.values(查询字段).filter(过滤条件).annotate(分组字段)遇到的问题&#xff1a; 这个分组查询的巨坑…

MyBatis使用数组作为参数的配置方法

2019独角兽企业重金招聘Python工程师标准>>> 传入的参数是String[] arr; resultMap的值是resultMap的id,也是定义了java属性和表字段对应关系的配置的id collection的值必须为array item是指遍历时的别名, index即下标 <!-- 使用数组为参数查出所有子代理商的订单…

Linux设备驱动程序学习笔记——第九章 与硬件通信

Linux设备驱动程序学习笔记 第九章 与硬件通信 一、I/O端口和I/O内存 每种外设都通过读写寄存器进行控制。 &#xff08;1&#xff09;I/O寄存器和常规内存 注意避免由于CPU或编译器不恰当的优化而改变预期的I/O动作。 有硬件缓存引起的问题很好解决&#xff0c;只要把底层硬…

安卓沉浸式状态栏

安卓沉浸式状态栏前言安卓版本Android4.4之前Android4.4&#xff08;API 19&#xff09; - Android 5.0&#xff08;API 21&#xff09;1.图片沉浸1.1 xml实现1.2代码实现2.ToolBar沉浸2.1xml实现2.1.1 设置 fitsSystemWindows 属性2.1.2 布局里添加占位状态栏2.2代码实现2.2.1…