博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
-------------------- 第二讲-------- 第一节------在此给出链表的基本操作
阅读量:6236 次
发布时间:2019-06-22

本文共 1200 字,大约阅读时间需要 4 分钟。

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

线性表:举一个列子        

下面有一个一元多项式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

你可能感兴趣的文章
UIAlertController在8以下不支持
查看>>
处理BLOB
查看>>
工头和母头
查看>>
1313:【例3.5】位数问题
查看>>
DA_01_linux_物理机局域网工作机制
查看>>
4.NIO_Channel 通道
查看>>
java构造方法
查看>>
Windows FTP服务器搭建
查看>>
三次 握手,
查看>>
push,present,
查看>>
聊一聊前端系列篇
查看>>
C#,ASP.NET jquery uploadify上传控件中文乱码解决办法
查看>>
POJ 1651 Multiplication Puzzle
查看>>
struts2 spring 优缺点
查看>>
ps学习入门篇
查看>>
MyEclipse 配置多个Tomcat运行
查看>>
[MVC_Json序列化]MVC之Json序列化循环引用
查看>>
选购智能机必须知道的知识
查看>>
Dynamic CRM 2013学习笔记(四)单据编号及插件批量注册工具
查看>>
个人博客2
查看>>