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

食品商务网-网站建设杭州响应式网站制作

食品商务网-网站建设,杭州响应式网站制作,wordpress ajax 接口,网站建设哪家公司便宜一、链表 链表(Linked List)是一种常见的基础数据结构,也是线性表的一种。 一个线性表是 n 个具有相同特性的数据元素的有限序列,线性表的存储结构分为两类:顺序表(数组)和链表。 链表相比较顺…

一、链表

链表(Linked List)是一种常见的基础数据结构,也是线性表的一种。

一个线性表是 n 个具有相同特性的数据元素的有限序列,线性表的存储结构分为两类:顺序表(数组)和链表。

链表相比较顺序表,它并不会按照线性的顺序存储数据,而是在每个节点里存储到下一个节点的指针,在 JavaScript 中,我们可以这样描述链表中的节点:

在这里插入图片描述

二、链表 vs 数组

存储方式的不同:

  • 数组在使用前需要先申请占用内存的大小,并且是连续的内存区域,不适合 动态存储,正是由于连续内存存储,使得 数组随机访问的时间复杂度为 O(1)

  • 链表则克服了数组需要预先知道数据大小的缺点,可以充分地利用内存空间,实现动态内存管理,但是由于每个节点增加了指针域,空间开销比较大

操作时间复杂度的不同:

数据类型读取时间复杂度写入时间复杂度
链表O(n)O(1)
数组O(1)O(n)

前面从存储方式的分析中,可以知道数组具备随机访问的能力,但是访问链表中的元素则需要遍历链表,因此时间复杂度为 O(n)。 链表中写入操作只需要将当前节点的前驱和后继节点的指针断开即可,所以时间复杂度为 O(1)。 但是由于数组是连续内存的特性,写入操作并没有那么简单,以删除数组首位元素为例,数组需要执行以下两步操作:

  • 删除首位元素。O(1)
  • 从第二位元素开始,依次向前移动一位。O(n)

所以对于任意位置的写入,链表虽然需要先执行 O(n) 的遍历来定位元素,但是它的整体效率仍然比数组高。

三、Easy 典型题型分析

1、【1290. 二进制链表转整数】

给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。

这道题目主要考察链表遍历的基本操作:迭代链表节点的 next 指针。

在这里插入图片描述

2、【876. 链表的中间结点】

给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。

这道题目比较实在的解题思路是:第一次遍历求出链表长度,从而计算出中间位置,第二次遍历根据中间位置找出中间节点。
下面给出的解法,是经常用到的双指针技巧中的快慢指针,巧妙地求解出中间节点:

在这里插入图片描述

3、【83. 删除排序链表中的重复元素】

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。

由于本道题目中的链表是一个排序链表,所以只考察了链表中删除节点的操作:**改变目标节点的前驱节点的 next 指针,即可删除目标节点。**参考视频:传送门

在这里插入图片描述

4、【206. 反转链表】

反转一个单链表。

第一种解法:先遍历链表获取翻转后的链表节点值的数组,再遍历链表替换节点的值。

在这里插入图片描述

第二种解法,利用链表的特性,简化为一次遍历完成翻转操作。

在这里插入图片描述

以上面的链表为例,翻转流程如下:

在这里插入图片描述

解题代码如下:

在这里插入图片描述

5、【141. 环形链表】

给定一个链表,判断链表中是否有环。

第一种解法:遍历链表,利用 HashMap 记录节点对象,如果出现重复的节点则有环

在这里插入图片描述

第二种解法是采用双指针中的快慢指针技巧:当链表中存在环时,快指针必然能追上慢指针。

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

相关文章:

  • 厦门手机网站建设是什么国外被墙网站
  • 谈谈设计和建设网站体会o2o商业模式
  • 沭阳住房城乡建设局网站wordpress文件夹权限设置方法
  • vs网站开发 百度文库长春网站免费制作
  • wordpress的编辑器插件seo中文含义
  • 外贸出口营销网站网站 功能呢
  • 建设网站收取广告费用j2ee网站开发免费教程
  • 在线建站网站合伙做网站怎么分配股权
  • 怎样发布自己的网站石家庄防疫最新政策
  • 做app的网站免费网址推荐
  • 网站设为首页代码wordpress 优缺点
  • 上海网站制作哪家好深圳网站制作问
  • 网站建设海淀区wordpress 知名站点
  • 贵阳专业网站建设公司vps网站建站助手
  • 扁平化网站 psd建设网站找谁
  • 专业的聊城网站优化网站开发的学校
  • wordpress搬家打不开长沙正规竞价优化服务
  • 展馆门户网站建设天津首页优化外包公司
  • 新建网站怎么做网站静态代码检查 站长工具
  • 莱阳网站定制做网站利用自己电脑
  • 传媒网站源码网站下载软件怎么安装
  • Wordpress多站点为什么注册不了公司网站建设须知
  • 网站建设有哪些板块公司加强网站建设
  • 网页设计去除下划线代码刷关键词优化排名
  • 邢台做网站改版网站紧急升级维护中
  • 网站策划书需求分析衣服网站建设规划书
  • 邢台地区网站建设服务周到新媒体 网站建设 管理规范
  • 房山做网站企业公示信息查询系统黑龙江
  • 在网站上怎么做推广兰州官网优化技术厂家
  • 唯品会网站开发招聘百度不收录网站吗