logonew chat icon top
  • icon-chaticon-chat-active搜题/提问
    new chat icon
    新建会话
  • icon-calculatoricon-calculator-active计算器
  • icon-subjecticon-subject-active学科题目
  • icon-pluginicon-plugin-active浏览器插件
  • icon-uploadicon-upload-active上传题库
  • icon-appicon-app-active手机APP
recent chat icon
历史记录
首页
/
计算机
题目

【例2-2-14】④设计一个高效算法,从顺序表中删除所有元素值为x的元素,要求空间复杂度为O(1)。

【例2-2-14】④设计一个高效算法,从顺序表中删除所有元素值为x的元素,要求空间复杂度为O(1)。

题目解答

答案

解法1:用i从头开始遍历顺序表L,k置初始0。若L.data[i]不等于x,则将其存放在L.data[k]中,k增1;若L.data[i]等于x,则跳过继续判断下一个元素。最后顺序表长度置为k。对应算法如下。void delall1(SqList &L,ElemType x) int i,k=0//k记录L中不为x的元素个数,初值为Cfor (i=0;iL.length;i++)if (L.data(i]!=x){ L.data[k]=L.data[i];k++L. length=k;/表长置为k上述算法的思路是通过遍历L来新建一个顺序表,只是新顺序表共享原顺序表L的空间。解法2:用i从头开始遍历顺序表L,用k记录下元素值等于x的元素个数,其初值置为0。若L.data[i]不等于x,则将其前移k个位置,即存放在L.data[i-k]中;若L.data[i]等于x,则k增1。对应算法如下。void delal12(SqList &L, ElemType x) int i=C,k=0/k记录1中为x的元素个数,初值为0while (iL.length) if (L.data[i]==x)k++//k增1elseL.data[i-k]*L.data[i];/将不为x的元素前移k个位置i++}L. 1ength-=k//表长减少k这两个算法都只遍历顺序表一次,其时间复杂度为O(n),空间复杂度为O(1)。本题还有多种解法,读者也可以在算法中另设一个顺序表L1,将L中不为x的元素放L1,最后将L1复制回L中,算法如下。void delal13(SqList &L, ElemType x)( SqList L1//临时建立的顺序表L1int i,k=0/k记录L中不为x的元素个数,初值为0for (i=0;iL.length;i++)if (L.data[i]!=x) LI.data[k]=L.data[i]k++}L1.length-k//表长置为kfor (i=C;iL1. length;i++)//将L1复制到L中L.data[i]=L1.data[i]L.length=L1.length本算法的时间复杂度为O(n),但空间复杂度为O(n),显然不如前两种算法好。

相关问题

  • AdaBoosting采用多个单一分类器组成一个强分类器()A. 错误B. 正确

  • 网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误

  • 下列哪个方法属于知识图谱推理方法()A. 路径排序算法B. 深度学习推断C. 广度优先搜索D. 归纳逻辑程序设计

  • 2.单选题 讯飞星火可以实现多种文案类型和语言风格的文本写作。讯飞星火(网页版)“内容写作”功能可选的“语言风格”不包括( )。A. 口语化B. 高情商C. 专业D. 热情

  • 下列哪个方法属于知识图谱推理方法()A. 广度优先搜索B. 深度学习推断C. 路径排序算法D. 归纳逻辑程序设计

  • 下列哪项关于监督学习算法的描述正确()A. 强化学习的训练效果一定优于监督学习B. 主要的监督学习方法包括生成方法和判别方法C. 广度优先搜索算法是一种监督学习算法

  • 下列哪项关于广度优先搜索的描述正确()A. 每次扩展时,该算法从边缘集合中取出最下层(最深)的节点B. 广度优先搜索算法是深度优先搜索算法的特例C. 每次扩展时,该算法从边缘集合中取出最上层(最浅)的节点D. 深度优先搜索是广度优先搜索的特例

  • 在决策树建立过程中,使用一个属性对某个结点对应的数集合进行划分后,结果具有高信息熵(highentropy),对结果的描述,最贴切的是()。A. 纯度高B. 纯度低C. 有用D. 无用E. 以上描述都不贴切

  • 下列不属于量子机器学习算法的是()A. 量子支持向量机B. 量子主成分分析C. 薛定谔方程求解D. 深度量子学习

  • 下列哪项贪婪最佳优先搜索算法的描述正确()A. 贪婪最佳优先搜索不属于启发式搜索算法B. 贪婪最佳优先搜索是一种A*搜索算法C. 贪婪最佳优先搜索是一种广度优先搜索算法D. 贪婪最佳优先搜索属于有信息搜索算法

  • 下列哪项不是求解对抗搜索问题的基本算法( ) A.反向传播算法 B.广度优先排序算法 C.Alpha-Beta剪枝算法D.最小最大搜索算法

  • 3.判断题K-means聚类算法对数据的尺寸敏感。()A. 对B. 错

  • 7、 加强电脑安全防护,及时升级病 毒库,安装防火墙,及时查杀病毒和木马,是防范 电信网络诈骗的有效做法。A. 正确B. 错误

  • 以下哪种方法属于卷积神经网络的基本组件()。A. 卷积层B. 池化层C. 激活函数D. 复制层

  • 路径排序算法的工作流程主要有三步()A. 特征计算B. 特征抽取C. 分类器训练D. 因果推断

  • 由脸书(Facebook)公司开发的深度学习编程框架是()A. TensorFlowB. PaddlePaddleC. PyTorchD. Mindspore

  • 下列哪项属于因果推理模型() A. 因果图B. 神经符号推理C. 符号推理模型D. 结构因果模型

  • 下列哪项属于因果推理模型() A. 因果图B. 符号推理模型C. 神经符号推理D. 结构因果模型

  • 网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误

  • 路径排序算法的工作流程主要有三步()A. 特征抽取B. 特征计算C. 分类器训练D. 因果推断

上一页下一页
logo
广州极目未来文化科技有限公司
注册地址:广州市黄埔区揽月路8号135、136、137、138房
关于
  • 隐私政策
  • 服务协议
  • 权限详情
学科
  • 医学
  • 政治学
  • 管理
  • 计算机
  • 教育
  • 数学
联系我们
  • 客服电话: 010-82893100
  • 公司邮箱: daxuesoutijiang@163.com
  • qt

©2023 广州极目未来文化科技有限公司 粤ICP备2023029972号    粤公网安备44011202002296号