LeeCode刷题记录02-程序员宅基地

技术标签: leecode  leetcode  

数组的特征

第一个方面是 「线性表」。
线性表就是所有数据元素排成像一条线一样的结构,线性表上的数据元素都是相同类型,且每个数据元素最多只有前、后两个方向。数组就是一种线性表结构,此外,栈、队列、链表都是线性表结构。

第二个方面是 「连续的内存空间」。
线性表有两种存储结构:「顺序存储结构」和「链式存储结构」。其中,「顺序存储结构」是指占用的内存空间是连续的,相邻数据元素之间,物理内存上的存储位置也相邻。数组也是采用了顺序存储结构,并且存储的数据都是相同类型的。

综合这两个角度,数组就可以看做是:使用了「顺序存储结构」的「线性表」的一种实现方式。

与之对应的是链表的特征

1、链表可以没有表示整体的对象,只需要用节点就够了。表示一整条链表可以用“头节点”,也就是第一个节点来表示整条链。
2、总是可以用一个节点的next指针走到下一个节点。而且大部分情况下只有这一种方法——链表没有下标,也不能直接跳转到某一环。只能从一个节点出发,一步一步往后挪。
3、链表的删除操作很快,与链表长度无关。想象一下:你拿着一条项链的一个环,如何拆掉这个环?只需要拆开与它相邻的两个环,然后把相邻的两环接到一起即可。无论项链长短,拆除的操作没有区别。
4、链表的插入也很快,与链表长度无关。
5、链表的查找需要从头遍历,与数组类似,越长速度越慢。但由于没有下标可用,链表的遍历实际上比数组更慢一些。而且在插入、删除节点时,要先获取到必要的指针,才能删除或添加。
所以,理论上,在需要经常插入节点、删除节点,而且数据量比较大的场合,非常适合使用链表。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43951994/article/details/121595860

智能推荐

位操作符详解_char 左移-程序员宅基地

文章浏览阅读418次。p_data 是指定的源数据,position是指定位(取值范围1~8) flag表示置0 置1操作,true:置1 false:置0.方法二本质上与方法一是一样的,只是改变了循环条件,不用循环8次,当最后一个1检测完毕后,a变为0,退出循环。实现对一个8 bit 数据(unsigned char 类型)的指定位的置0或者置1操作,并保持其他位不变。| 或——相同位只要有1,操作结果就为1。^ 异或——对应位不相同时,操作结果为1。& 与——相同位都为1,操作结果才位1。..._char 左移

【计算机考研】408究竟有多难?-程序员宅基地

文章浏览阅读866次,点赞25次,收藏24次。全文超过 1 万字,包括如何有效规划备考时间,选择老师和资料。

postgresql数据库使用—— 跨表复制数据_postgres 将其他表的字段复制到当前表-程序员宅基地

文章浏览阅读4.3k次。使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。1.INSERT INTOSELECT语句语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1 [where column =value][]为可选内容要求目标表Table2必须..._postgres 将其他表的字段复制到当前表

Zemax操作35--双高斯镜头优化_双高斯镜头zemax-程序员宅基地

文章浏览阅读5.8k次,点赞5次,收藏50次。双高斯_双高斯镜头zemax

学习笔记2:Linux-程序员宅基地

文章浏览阅读173次。实操篇一、远程登入XShell(一)为什么需要远程登入?Linux服务器是开发小组共享的,而正式上线的项目是运行在公网的,因此程序员需要远程登入到CentOS进行项目管理或者开发。(二)需要Linux开启sshd服务,打开22号端口才能进行监听。(三)XShell里的一些配置:需要得到Linux系统上的地址,以及一个用户名和密码就可以连接。...

canal初探-程序员宅基地

文章浏览阅读36次。我计划以后将单位的搜索项目,慢慢过渡到ES集群,然后实现准实时的搜索.canal可以感知数据库的变化,作为一个mysql的伪slave,我可以通过canal获取数据库变化,然后批量刷新到ES集群.canal是阿里开源..._canal execute(map map)

随便推点

如何使用IBM-QISKit完成量子计算编程(英文)_qiskit支持gpu-程序员宅基地

文章浏览阅读3.5k次,点赞3次,收藏8次。如何使用IBM-QISKit完成量子计算编程(英文)IBM-QISKitIBM-QISKitThis project is based on the IBM QISKit tutorial on Github.If this is the first time for you to run QISKit, please follow the following steps to instal..._qiskit支持gpu

nginx部署vue项目,给访问路径加前缀的方法:vue.config.js配置publicPath和nginx配置alias_vue2 静态资源 绝对路径 前缀-程序员宅基地

文章浏览阅读6.8k次。本文主要涉及到 Vue.js 项目部署在 Nginx 上的相关问题。其中,publicPath 选项可以用于设置 Vue.js 项目的访问路径前缀,alias 指令可以用于 Nginx 中将请求路径映射到指定的文件系统路径。同时,通过设置 Nginx 配置文件,可以将多个 Vue.js 项目部署在同一个域名下的不同路径中。使用 alias 指令可以更加方便地管理多个 Vue.js 项目,并使配置文件更加简洁易读。_vue2 静态资源 绝对路径 前缀

Python第三方模块apscheduler安装和基本使用_apscheduler下载-程序员宅基地

文章浏览阅读1.2w次,点赞5次,收藏32次。文章目录apscheduler 模块安装apscheduler 模块apscheduler 模块介绍支持的后端存储作业APScheduler有四种组成部分各组件简介触发器作业存储器执行器选择合适的调度器apscheduler 模块使用添加作业移除作业触发器类型代码实现使用SQLAlchemy作业存储器存放作业暂停和恢复作业获得job列表关闭调度器apscheduler 模块安装apschedu........._apscheduler下载

nginx配置_nginx assets-程序员宅基地

文章浏览阅读2.1k次。nginx配置_nginx assets

自定义UISearchBar外观-程序员宅基地

文章浏览阅读103次。本文转载至http://www.jianshu.com/p/66b5b777f5dc最近,在项目过程中遇到要自定义SearchBar的外观,虽然自己觉得用系统默认的外观就行了,不过UI设计师要求不用系统的默认样式,要跟app主题保持一致。图1:设计效果图从上图可以看出,我们要做的UISearchBar要有圆角,边框颜色,取消按钮颜色,背景透明等等。...

JXFCZX - 信使(最短路)-程序员宅基地

文章浏览阅读2.7k次。题目链接:http://www.jxsfczx.cn:888/problem/42时间:1 秒空间:512 MB问题描述战争时期,前线有n个哨所,每个哨所可能会与其他若干个哨所之间有通信联系。信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位)。指挥部设在第一个哨所。当指挥部下达一个命令后,指挥部就派出若干个信使向与指挥部相连的哨所送信。当一个哨所接到信后,这个哨所内的信...

推荐文章

热门文章

相关标签