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

-------------------- 第二讲-------- 第一节------在此给出链表的基本操作

下面说线性结构,线性结构是数据结构中最基础最简单的一种结构类型   其中典型的是线性表

线性表:举一个列子        

下面有一个一元多项式F(x)=a0+a1*x+a2*x+~~~~~~~+an*x;

请你思考并给出,你所能想到的几种储存方式.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1:   用一个数组将其系数储存起来,然后用for循环这样一个一个相加.

------弊端是   1:时间复杂度比较高,机器做了许多的无用功,例如当一元多项式为2*x+3*x^2000.这样就做了许许多多的无用功----------------------下面给出对于这种情况的优化算法---------------

2:  用一个结构体数组只将系数和次方都不为零的储存起来计算这样就节省了好多时间和空间--形如

typedef struct Polynode *Polynomial;
typedef struct polynode
{
    int coed;//系数 
    int expon;//指数 
    polynomial ilnk;//指针域 
}

----------------------同一个问题有不同的储存方法-----储存方法和算法是密切相关的-----------------------------

在数据结构中最简单的储存方法就是两种1:数组   2:链表  .

=======================我是大分隔符================================   

什么是线性表?   

线性表:由同类型   数据元素 构成的 有序序列的线性结构 . 

操作集: 线性表L (属于)List ,整数i 表示位置,元素X (属于) ElementType ,
线性表基本操作主要有:
1 、List MakeEmpty() : 初始化一个空线性表L ;
2 、ElementType FindKth( int K, List L ) :根据位序K ,返回相应元素 ;
3 、int Find( ElementType X, List L ) :在线性表L 中查找X 的第一次出现位置;
4 、void Insert( ElementType X, int i, List L) :在位序i 前插入一个新元素X ;
5 、void Delete( int i, List L ) :删除指定位序i 的元素;
6 、int Length( List L ) :返回线性表L 的长度n 。

====线性表的顺序储存实现(数组)就不再说了没必要====下面给出线性表的链式储存实现(链表)======

分别为   储存,插入,删除.

==========链表和数组的不同==链表只要求 在逻辑上相邻,在物理不要求相邻===

 

 

转载于:https://www.cnblogs.com/A-FM/p/5084647.html

相关文章:

  • Codeforces 461B - Appleman and Tree 树状DP
  • Objective-C之成魔之路【9-类构造方法和成员变量作用域、以及变量】
  • MyBatis学习总结(11)——MyBatis动态Sql语句
  • Android应用正确使用扩展SD卡,特别是安卓4.4以后的版本
  • 开源HYBUnicodeReadable日志显示Unicode中文
  • CKEditor在线编辑器增加一个自定义插件
  • 【转载】Tomcat 7.0.3x 启动慢并且遇到StackOverflowError的异常的解决办
  • ubuntu14.04 使用kvm安装win7系统
  • A successful Git branching model
  • ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程
  • centos制作yum源
  • android在假设绘制自己定义的bitmap,然后返回给ImageView
  • 通过读取excel文件生成sql语句
  • 指针知识梳理5-字符串与指针,程序内存总结
  • 使用360浏览器访问字体逆时针旋转90度的问题
  • ComponentOne 2017 V2版本正式发布
  • CSS盒模型深入
  • javascript 哈希表
  • leetcode386. Lexicographical Numbers
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • PV统计优化设计
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • 阿里云前端周刊 - 第 26 期
  • 浮现式设计
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 强力优化Rancher k8s中国区的使用体验
  • 怎么把视频里的音乐提取出来
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​ubuntu下安装kvm虚拟机
  • ​第20课 在Android Native开发中加入新的C++类
  • #define用法
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • $(selector).each()和$.each()的区别
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (多级缓存)多级缓存
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (排序详解之 堆排序)
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (转载)Linux 多线程条件变量同步
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .bat批处理(六):替换字符串中匹配的子串
  • .jks文件(JAVA KeyStore)