线性表、顺序表

文章目录

  • 线性表、顺序表
    • 线性表概念
      • 线性结构特点
    • 线性表概念
    • 两种分类
    • 顺序表代码
    • 遍历
    • 查找
    • 插入
    • 删除
    • 逆置
    • 链表(用指针实现变长的先行存储结构)
    • 特点
    • 习题

线性表、顺序表

在这里插入图片描述

线性表概念

线性结构特点

  1. 存在唯一一个被称为“第一个”的数据元素
  2. 存在唯一一个被称为“最后一个”的数据元素
  3. 除“第一个”元素无前驱外,集合中每个元素均有且只有一个“直接”前驱;除“最后一个”元素无后继外,集合中每个数据元素均有且只有一个“直接”后继

线性表概念

  1. 线性表:是具有相同数据类型的n(n>=0)个数据元素的有限序列,通常记为:在这里插入图片描述
  2. 前驱,后继,表长,空表,首结点,尾结点
  3. 位序:ai(0<=i<=n-1)是线性表中元素,则称i为数据元素ai在线性表中的位序(位置)

两种分类

  1. 顺序表(用一维数组实现定长的线性存储结构 )
    按索引值从小到大存放在一片相邻的连续区域,紧凑结构,存储密度为1在这里插入图片描述
    顺序表需要一块连续的存储空间,可以用一个数组实现。保存一个动态数组,需要三个变量:
    data:指向线性表元素类型的指针
    curlength:数组中元素个数(表长)
    maxSize:数组规模(容量)在这里插入图片描述

顺序表代码

在这里插入图片描述

遍历

在这里插入图片描述

查找

在这里插入图片描述

插入

在这里插入图片描述
考虑情况:
1.位置
2插入情况

在这里插入图片描述
在这里插入图片描述
最好情况:i=curLength表末插入O(1)
最坏情况:i=0表头插入O(n)
在这里插入图片描述

删除

在这里插入图片描述
1.表为空
2.删除是否合法
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

逆置

在这里插入图片描述
9个四次在这里插入图片描述

链表(用指针实现变长的先行存储结构)

单链表:在这里插入图片描述

双链表:在这里插入图片描述

循环链表:
在这里插入图片描述

特点

  1. 顺序表需要预先分配存储空间,很难恰当预留空间
  2. 逻辑次序核物理次序的一致性,能够按序号(下标)直接存取元素,具有随机存取的特点
  3. 顺序表在插入删除时需要移动大量数据,因此其插入和删除效率低
  4. 难于改变顺序表的大小,需要重新船舰一个新的顺序表,把原表里的数据复制到新表,然后释放原表空间
  5. 顺序表比较适合静态的、经常做定位访问的线性表

习题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467756.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 5.7 将支持国产 RISC-V 芯片 K210

这是转载的一篇文章&#xff0c;文章主要内容是Linux合入了一个国产芯片k210的代码&#xff0c;虽然这个芯片不是很强大&#xff0c;但是对于学习来说非常有意义&#xff0c;而且&#xff0c;还有人在这个开发板上移植了Linux 0.11。今天早上我在查阅 Linux 内核邮件列表的时候…

动态路由选择协议(二)距离矢量路由选择协议

大多数的路由选择协议属于下面二者之一&#xff1a; 距离矢量&#xff08;distance vector&#xff09;和链路状态&#xff08;link state&#xff09;。 本篇学习的是距离矢量路由选择协议的基础。 大多数的距离矢量算法是R.E.Bellman、L.R.Ford和D.R.Fulkerson所做的工作为基…

我和蓝牙BT,BLE有一腿

你好&#xff0c;很不幸&#xff0c;你被一个标题骗了进来&#xff0c;可能我以后还会骗你&#xff0c;我这篇文章主要是写蓝牙相关的&#xff0c;不会涉及技术细节&#xff0c;主要是总结一些概念&#xff0c;这些概念会帮助你了解蓝牙知识&#xff0c;帮助你在面试或者聊天的…

循环链表、双链表

文章目录循环链表、双链表双链表插入删除单循环链表双循环链表习题线性表实现方法比较循环链表、双链表 双链表 插入 删除 单循环链表 双循环链表 习题 线性表实现方法比较

[芦半山]Binder的异常机制

文中代码分析基于Android 10.0 (Q)两个进程之间若是要进行Binder通信&#xff0c;那么发起通信的一端我们就称它为Client进程。Client进程调用每一个代理对象的方法&#xff0c;本质上都是一次跨进程通信。如果这个方法是同步方法&#xff08;非oneway修饰&#xff09;&#xf…

消息中间件核心实体(1)

接上一篇《消息中间件核心实体(0)》&#xff0c;这一篇继续介绍消息中间件中的一些实体。 上一篇主要是Message、Topic、TopicMeta和Queue这样最基础的实体&#xff0c;这几篇介绍一些发送和消费的过程中会涉及到的实体和组件。 1. 发送 1.1 增强Message属性 Message一般只包含…

sklearn(2

算法库顶层设计 SKLEARN监督学习模块 近邻算法 neighbors支持向量机SVM岭回归 kernal_ridge判别分析discriminant_analysis广义线性模型linear_model集成方法ensemble决策树tree朴素贝叶斯naive_bayes交叉分解cross_decompostition高斯过程gaussian_process多层神经网络neural…

该死的装修

周末了&#xff0c;没有写技术文~因为最近的新房子需要装修&#xff0c;谈了几个装修公司&#xff0c;不知道为什么&#xff0c;我对装修这个事情非常抵触&#xff0c;繁琐的事情太多了&#xff0c;还没有装修&#xff0c;我就觉得有很多事情要斗争。因为家里有小孩&#xff0c…

SKLEARN模型选择

数据集划分方法 K折交叉验证法 将全部训练集S分成k个不相交的子集&#xff0c;假设S中的训练样例子数为m&#xff0c;那么每一个子集有m/k个训练样例&#xff0c;相应子集称作{s1,s2……sk}每次从分好的子集里面&#xff0c;拿一个作为测试集&#xff0c;其他k-1作为训练集在k…

被该死的Openssl编译嘲讽了一个下午

昨晚比较尴尬&#xff0c;下班的时候已经很晚了&#xff0c;到半路突然想起来没有带钥匙回去&#xff0c;赶紧折返回公司拿钥匙&#xff0c;在已经很晚的路上我们又多花费了20分钟&#xff0c;到家已经挺晚了&#xff0c;具体多少点我都不好意思说&#xff0c;我要是说出来&…

JavaScript中本地对象、内置对象和宿主对象

http://www.jianshu.com/p/a52e6e183427 http://blog.csdn.net/weiyastory/article/details/52837466 http://www.cnblogs.com/qigang/p/3520974.html 在ECMAScript中&#xff0c;所有对象并非同等创建的。 一般来说&#xff0c;可以创建并使用的对象有3种&#xff1a;本地对象…

类的真正形态

类的真正形态 类的关键字 struct在C语言中已经有了自己的定义&#xff0c;必须继续兼容 在C中提供了新的关键字&#xff0c;class用于类定义 class和struct用法是完全相同 struct和class区别 用struct定义时&#xff0c;所有成员默认为public 用class定义时&#xff0c;所…

分类器

sklearn分类器性能指标 分类器性能评估指标 只限于二元单元标签分类问题 可用于二元多标签分类问题的评估指标 如何将二元分类指标扩展到多类或多标签问题中去 可用于多类分类问题的评估指标(紫色的可用于多标签问题&#xff09; accuracy_score准确率 函数计算分类…

Cucumber+Rest Assured快速搭建api自动化测试平台

转载&#xff1a;http://www.jianshu.com/p/6249f9a9e9c4 什么是Cucumber&#xff1f;什么是BDD&#xff1f;这里不细讲&#xff0c;不懂的直接查看官方&#xff1a;https://cucumber.io/  什么是Rest Assured&#xff1f;传送门&#xff1a;https://github.com/rest-assured…

让这个该死的服务跑起来了~

#前言被该死的Openssl编译嘲讽了一个下午之前的文章说了我的那个编译的问题&#xff0c;这里说下&#xff0c;知识点有点零散&#xff0c;最后的解决也是一个同事提示&#xff0c;感觉也有点奇葩的赶脚。到目前为止&#xff0c;我现在感受到了写文章的好处&#xff0c;昨晚的问…

深度学习概述

深度学习 传统学习与深度学习 深度学习应用特点 深度学习框架比较 Tensorflow 神经元 卷积核 分类 回归 生成

Python--递归

面向函数编程 def func():print(从前有座山&#xff0c;山里有座庙&#xff0c;庙里有个老和尚讲故事&#xff0c;讲的什么呀&#xff1f;)func() 解耦&#xff1a;尽量把不相关的功能拆开&#xff0c;用的时候再调用函数&#xff0c;增强代码重用性&#xff0c;减少代码变更的…

传统神经网络

文章目录神经网络的起源&#xff1a;线性回归一个线性回归问题线性回归优化方法&#xff1a;梯度下降梯度计算梯度计算总结线性回归&#xff1a;输出线性回归&#xff1a;局限从线性到非线性非线性激励常用的非线性激励函数tanhRELULecky RELU神经元—神经网络神经网络构建神经…

深度学习之卷积神经网络

文章目录深度学习之卷积神经网络链式反向梯度链式法则的计算神经网络中链式法则实例二、卷积神经网络-卷积层&#xff08;一&#xff09;什么是卷积层&#xff08;二&#xff09;有什么组成受什么影响&#xff0c;有何特点卷积网络正向传播反向传播卷积和神经网络功能层深度学习…

卷积神经网络高级篇

【 文章目录Alextnet参数计算VGG alexnet增强版VGG参数计算VGG作用GoogleNet 多分辨率融合全卷积神经网络RESNET结构特性有效性结构化图片特殊处理识别效果全局部卷积网络缺陷U-net图片生成网络VGG u-netAlextnet 参数计算 VGG alexnet增强版 VGG参数计算 VGG作用 GoogleNet 多…