当前位置: 首页 > news >正文

数据结构-线性表

  • 线性表的定义:线性表是一个具有n(n>=0)个数据元素的线性关系有限序列。元素的个数为线性表的长度,当n=0时,线性表为空表,用一对空括号表示;当n!=0时,线性表可以表示为(a1,a2,a3,…an),a1为表头元素,an为表尾元素,an-1是an的直接前驱,an+1是an的直接后继。
  • 线性表的数据元素:可以为一个数,也可以为一个符号或者复杂数据类型,但同一个线性表中的元素必须具有相同的特性。
  • 例如:线性表1:字母表(a,b,c…z)线性表2:数字表 (2,5,9,1,0)线性表2:线性表中数据元素为复杂类型的表 新生报道表
  • 线性表的逻辑结构:线性表的逻辑结构为线性结构,元素之间是一对一的关系。
  • 数组 & 链表 之前的绪论部分我们已经谈到链式存储结构的定义,即不要求逻辑上相邻的元素在物理层面也相邻,顾名思义就是利用链表存储数据,它用附加指针表示节点间的逻辑关系。

数组优点:

  1. 随机访问,通过索引访问数组数据,由于是连续的内存空间,所以支持随机访问,通过下标随机访问的时间复杂度是 O (1)。
  2. 查找快,可以通过数组的所以快速定位到要查找的数据
  3. 支持动态扩容,当我们开始预定义数组的长度是 10,当数组存储了 10 个数据后,我们继续添加第 11 个数据的时候,我们就需要重新分配一块更大的空间,将原来的数据复制过去,然后再将新的数据插入

数组缺点:

  1. 插入、删除数据慢

相关文章:

  • vue3.0--2.watch、vue3生命周期函数、Teleport、自定义事件、状态驱动的动态 CSS、Suspense
  • Java · 面向对象编程 · 包的概念 · 继承 · 组合
  • Zabbix6通过ODBC方式监控Oracle 19C最佳实践
  • 企业复杂的数据治理需求,TempoDF让数据开发更简单!
  • hive on spark 执行sql报错
  • 离散化(保序)
  • 文本纠错易语言代码
  • 【python】遇上COS美图怎么办?当然是大胆冲呀~
  • 苏小妍java开发工程师-一面面经
  • 「SpringCloud Alibaba」Sentinel实现熔断与限流
  • 赶紧进来看看---详细介绍五种常用字符串库函数 以及对库函数的模拟实现
  • 浅谈 python在密码学的应用
  • lammps数据后处理:python绘制应力应变曲线 附程序代码
  • 机器学习模型2——决策树
  • Java.lang.Character类中codePointAt(CharSequence seq, int index)方法具有什么功能呢?
  • #Java异常处理
  • 11111111
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • Javascript基础之Array数组API
  • JavaScript设计模式系列一:工厂模式
  • java多线程
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • JS专题之继承
  • node.js
  • Python爬虫--- 1.3 BS4库的解析器
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • SpringBoot几种定时任务的实现方式
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 动态规划入门(以爬楼梯为例)
  • 对象引论
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (ros//EnvironmentVariables)ros环境变量
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (十) 初识 Docker file
  • (十六)Flask之蓝图
  • (四)Controller接口控制器详解(三)
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .NET开源项目介绍及资源推荐:数据持久层
  • .net流程开发平台的一些难点(1)
  • .net实现客户区延伸至至非客户区
  • /bin、/sbin、/usr/bin、/usr/sbin
  • /etc/fstab和/etc/mtab的区别
  • /etc/sudoer文件配置简析
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?