news 2026/8/1 19:21:34

常见数据结构

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
常见数据结构

数据结构:数据用什么样的方式组合在一起

常见的数据结构:栈、队列、数组、链表、树

栈:

是一种先进后出的结构,只能从一段操作新增和删除,无法从数据中间增删,栈结构有两个名词:压栈、弹栈。分别为往栈里添加数据和删除数据。

栈结构很像弹匣,只能从一端新增和删除,并且先进后出。

队列:

是一种先进先出的数据结构,类似于从队列左边添加数据,从右边弹出数据,也无法从中间插入和删除。

数据会像排队一样,先进入队列的先被弹出。

数组:

数组是有序的数据结构,每一个元素都有自己的下标,所以可以很快通过下标找到指定元素。

优点:1.查找速度快,因为可以通过下标查找。

2.可以再数据中间做增删操作。

缺点:1.增删速度慢,因为从数组中间进行增删,会导致后面所有数据的下标改变。

数组的新增原理:1.先创建新数组。

2.将新元素放在指定下标处

3.将元素其余元素复制到新元素

链表:

是由一个个节点组成的,每个节点存自己的值以及下一个节点的地址。

优点:增删快,只需要修改左节点的地址然后记录下一个节点的地址

缺点:查询慢,需要一个个节点的查询

ElasticSearch

首先什么是ES 为什么用ES

ES是快速搜索引擎引擎;

如果用mysql我们需要对商品或者标题做搜索,我们会通过模糊搜索来找出对应行数据,比如有一条数据是”I like ABC and DEF “ 我们的搜索条件给的”like DEF 而且不一定能搜索到,而且效率很慢 ;

如果用ES 就可以很快速的搜索到,而且数据量大也没关系,这是因为ES会对内容进行倒排索引 比如 ”今天天气很好“”今天很开心“ 对于这两个句子 ES会先进行分词 ,比如 “今天”对应ID【1、2】 ;“天气”对应【1】;“开心”对应【2】 那么当你搜索”今天”的时候会直接【1、2】

上面这些是讲为什么用ES,接下来我说一下ES的重要概念

1.集群和节点

在生产中ES肯定是以集群的方式存在的,那么就分为主节点和数据节点,主节点负责创建索引,数据节点负责读写数据

2.索引 类比 数据库中的库

在ES中不再区分更细维度的type 都是以【文档】的方式存储

3.文档 类比 行

每一行文档都会有个对应的唯一ID

4.字段 类比 列

每个文档中的键值对,有两个重要的字段类型;

text:会被分词 比如“今天天气很好”会被分成“今天”“天气”“很好”

keyword:不被分词 比如手机号等信息

5.分片

由于ES都是用于大量数据搜索的,所以把所有数据放到一台服务器中不现实,内存也受不了,所以会将数据分成多片,放到不同服务器中,并且还有主分片和副本分片(副本分片就是主分片的拷贝)这样就算其中一个服务器宕机也可以有其他服务器使用自己的主分片和副本顶上,同时这么干还能提升查询效率 因为他默认多个服务器同时开始检索

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/1 19:21:12

河南省第一届职业技能大赛网络安全项目A模块公开新题

A-8数据库加固任务环境说明:(Linux)系统:用户名root,密码123456删除默认数据库(test);改变默认MySql管理员用户为:SuperRoot;使用MySql内置MD5加密函数加密用户user1的密码为(Pssw0rd1!);赋予user1用户对数据库所有表只有select、…

作者头像 李华
网站建设 2026/8/1 19:19:39

2026年6000-8000元适合学生的性能本如何选购详细解析

对于大学生来说,一台笔记本电脑通常要陪伴整个大学阶段——从大一入门到大四毕业设计,软件越来越吃配置,文件越来越占空间。如果设备的内存和存储无法升级,到了大三、大四就会明显感到卡顿和空间不足,换新成本又太高。…

作者头像 李华
网站建设 2026/8/1 19:13:33

贴片二极管丝印查询工具:自建数据库与桌面应用开发全攻略

1. 项目概述:为什么我们需要一个贴片二极管丝印查询工具?在电子维修、硬件开发或者仅仅是电子爱好者的日常工作中,你肯定遇到过这样的场景:一块电路板上,一个芝麻粒大小的贴片元件,上面印着几个字母或数字&…

作者头像 李华