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

哪里有免费建站平台免费网上咨询医生是哪个网

哪里有免费建站平台,免费网上咨询医生是哪个网,南阳市中小企业融资综合信用服务,行业门户网站如何做目录 一.线性表的概念 二.线性表的关系及分类 三.数组与顺序表 四.链表 1.静态链表(链表的的数组底层实现) 2.循环链表 3.双向链表 五.栈 1.栈的概念 2.栈的底层实现 3.共享空间栈 4.逆波兰表达式(后缀表达式) 5.栈与递归 六.…

目录

一.线性表的概念

二.线性表的关系及分类

三.数组与顺序表

四.链表

1.静态链表(链表的的数组底层实现)

2.循环链表

3.双向链表

五.栈

1.栈的概念

2.栈的底层实现

3.共享空间栈

4.逆波兰表达式(后缀表达式)

5.栈与递归 

六.队列

1.队列概念

2.队列的底层实现

3.循环队列

七.链式储存与顺序储存


一.线性表的概念

线性表是0个或n个相同数据类型的有限序列

构成线性表的条件:除了头尾外每个结点有且仅有一个前驱和后继。

二.线性表的关系及分类

线性表按物理存储结构可分为顺序存储结构和链式存储结构。

基本顺序存储结构为数组,基本链式存储结构为链表。

以数组为底层可实现顺序表和栈及队列。

以链表为底层可实现栈和队列。

其关系图大致如下:

三.数组与顺序表

封装顺序表的使用:

定义

List<类型参数>  顺序表名 = new ArrayList<>();

ArrayList<类型参数> 顺序表名 = new ArrayList<>();

【ArrayList实现了List接口】

顺序表的底层实现:

底层是对数组的处理较简单

顺序表底层需要实现的一般方法:

(其余可自行到库中查看)

四.链表

链表的一般底层实现:

通过内部类定义结点与C语言中结构体类似

要实现的一般方法有: 

1.静态链表(链表的的数组底层实现)

静态链表的实现的每一个结点需要值域和游标(游标用来存储下一节点的下标) 

2.循环链表

链表的尾部指针域指向头结点

3.双向链表

 在单向链表的属性中多了一个指向前一个结点的“指针”.

五.栈

1.栈的概念

只在表首进行删除和插入操作的线性表

2.栈的底层实现

数组实现:

需要一top变量指示栈顶下标(栈空为-1,栈满为n)

大致框架如下,方法(push,pop,peek,empty等可参考库函数尝试实现)

链表实现:

以“头指针”指示栈顶,对头指针及其前一个结点进行操作即可实现栈的基本方法

基本结构如下:

3.共享空间栈

用于底层为数组实现的栈节省空间,两栈合并。

结构大致如下:

可定义top1,top2分别表示两栈顶当两栈顶相遇(top1+1=top2)时栈满。

当top1 = -1且top2 = n时栈空(n为栈大小)。

4.逆波兰表达式(后缀表达式)

中缀转后缀:

一种较容易推导方法为加括号,通过栈推导可自行查资料

5.栈与递归 

递归的底层可以理解为一个栈,每次递归时所得数据存储在栈中直到递归出口再将数据依次弹出

六.队列

1.队列概念

只在头部进行删除尾部进行插入的线性表 (先进先出)

2.队列的底层实现

数组实现:

与栈相似多出一个属性指示队尾,对队首队尾进行操作

链表实现:

单向链表实现时与栈相似都是对头指针进行操作,只是加入删除元素的方式有所不同

双向链表实现队列较为快捷可同时对头尾指针进行操作。 

3.循环队列

以数组为底层实现循环队列时防止假满状态(队尾元素删除后其空间无法利用,头指针一直向前走无法回头)实现空间重复利用。定义front rear指示队列首尾部

循环队列大小计算公式:

ret = (front - rear + maxSize) % maxSize 

循环队列循环的实现:

添加删除元素时分别对尾头指针进行操作;

添加移动尾的下标:

(rear + 1) % maxSize

删除移动头的下标:

(front + 1) % maxSize

循环队列满空的判断:

空时front = rear

满时判断:

1.标记法

flag=false 时为空

flag=true时为满

2.留空法

留下一个位置不放元素

当(rear + 1) % maxSize = front 时为满

通过以上操作我们可以发现下标只在(0 ~ maxSize - 1)范围内变化,从而实现循环

4.双向队列

可在两边同时进出的队列

七.链式储存与顺序储存

顺序存储结构如数组及以其为底层实现的结构:

1.空间大小确定

2.如需查找,时间复杂度仅为O(1)较易进行

3.插入操作需移动插入位置后所有元素,时间复杂度为O(n),不便

链式存储结构如链表及以其为底层实现的结构:

1.大小不固定

2.只可按一定顺序进行查找O(n)不便

3.插入时找指定元素时O(n)插入时O(1),插入愈多其优势越明显

故选用结构时需据实际情况。

http://www.yayakq.cn/news/414948/

相关文章:

  • 商务网站的主要内容wordpress房产企业模板免费下载
  • 辽宁金帝建设集团网站django做的购物网站
  • 海宁高端网站设计北京婚恋网站哪家最好
  • jsp asp php哪个做网站上海网页公司
  • 网站优化简历模板郑州seo管理系统运营
  • 国外建筑公司网站怎么做电脑端网站设计稿
  • 苏州公司网站建设报价橙色企业网站
  • 营销网站建设专家中国建筑怎么样
  • 晨光科技+网站建设系统软件开发流程
  • 把公司网站 公开下载 做教程 侵权吗湖南关键词优化首选
  • 杭州手机网站制作flash网站制作下载
  • 海南做网站的公司头像制作网站
  • 合肥做网站费用设计类哪个专业好
  • 定州网站设计南通网站建设开发
  • 四川住房城乡和城乡建设厅网站首页wordpress all import
  • 广东网站建设包括什么软件上海十大互联网公司排名
  • 全网营销式网站网站建设文化市场
  • wordpress用户发表文章特定目录seo站长工具平台
  • 自助建站一般适用于大型电子商务网站建设wordpress首行空两格
  • 网站开发的工作好做吗提供网站建设公司
  • 学网站论坛长春网站建设方案推广
  • 目前流行的网站开发设计体育馆路网站建设
  • 百度网站外链发布平台快速网站开发框架
  • 做网站导航一般字号是多少律师网站建设培训班
  • 深度网营销型网站建设公司怎么样直播网站开发公司
  • 德州中文网站建设wordpress 图片裁剪
  • 网站做以后怎么修改网站内容平面设计官方网站
  • 制作企业网站三栏 wordpress
  • 企业建立网站主要包括那些流程威海高区建设局网站
  • 南宁网站忧化海尔网站推广方法