数据结构,及分类(存储分类、逻辑分类)介绍

news2024/12/27 16:10:05

一、数据结构:

        数据是软件开发的核心。在软件开发过程中基本上就是对数据的新增、删除、修改、查看的操作。

        如何合理存储数据,如何有效提升数据操作开发效率,都是软件开发中的重中之重。使用合理的数据结构是非常重要的。

1.1简介:

        数据结构(Data Structure):计算机存储数据、操作数据的方式。将这些数据按照特定结构组成一个集合。

        数据结构是一种宏观概念,其中包含很多具体的数据结构。

        例如:数组、链表、堆、栈、队列、树、图、散列表等,每一种数据结构都有自己的优缺点。

1.2分类介绍:

数据结构可以按照存储结构分类,也可以按照逻辑进行分类;

1.2.1存储分类:

顺序存储结构:

        数据存储到一块连续的空间。例如:数组,List集合(底层数组)

        优点:地址连续,遍历效率高;可以随机访问

        缺点:插入或删除的效率低(需要移动数组,如果数据量大效率很低)

链式存储结构:

        数据存储到非连续的空间中。每个数据存储者后面数据的地址,形成链式结构。

        优点:插入或删除效率高。只需要修改存储的地址。

        缺点:地址非连续,遍历效率低。丧失随机访问数据能力。

索引存储结构:

        除存储的数据之外,还存储索引表存储数据的索引信息。MySQL数据库、MongoDB数据库等存储工具都支持索引。

散列表(Hash)存储结构:

        散列表存储结构是对数据进行计算,直接得到数据存储时的内存地址。使用顺序结构和链式结构共同实现(数组+链表)。

1.2.2 逻辑分类

        逻辑分类是程序员认为的结构,在计算机中还是按照存储结构分类进行存储的;

        逻辑分类按照前一个数据 和 后一个数据数量对应关系进行的分类。

线性结构(一对一)

        数据与数据之间是线性结构。除首尾不相连其他都是由顺序的。而且是一对一关系。

        线性结构有:数组、链表、堆、栈、队列等都是线性结构

树形结构(一对多)

        数据之间由层次关系。数据是一对多展示的,一个数据后面可以由多个数据,但每个数据前只能有一个数据。

        树形结构有:普通树、二叉树、二叉搜索树、平衡二叉搜索树、红黑树、B树、B+树等

图形结构(多对多)

        数据之间是网状关系结构。数据之间是多对多的关系,也就是说一个数据后面有多个数据,这个数据前面也有多个数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1135630.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Leetcode】【每日一题】【简单】2520. 统计能整除数字的位数

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/count-the-digits-that-divide-a…

分享53个ASP.NET源码总有一个是你想要的

分享53个ASP.NET源码总有一个是你想要的 链接:https://pan.baidu.com/s/1xvqgPHSty70VGlQHoy9NYw?pwd8888 提取码:8888 项目名称 ASP.Net 4.5 论坛源码,支持多数据库 Asp.Net Core 3.x博客同步应用案例 ASP.NET Core MVC SqlSugerCore…

安防监控项目---概要

文章目录 前言一、项目需求二、环境介绍三、关键点四、主框架分析总结 前言 各位小伙伴,在蛰伏了将近有半年的时间又要和大家分享新的知识了,这次和大家分享的是一个项目,因此呢我准备分项目阶段去和大家分享,希望大家都能够在每…

如何满足TIKTOK直播企业四大网络需求,轻松实现直播无卡顿?

说到企业海外直播,大家脑海里一下就想会想到当下爆火的TIKTOK平台,而随着TIKTOK在全球范围大面积铺开推广,不同国家不同市场的活跃用户数纷纷上涨,让更多的电商企业选择在TIKTOK上进行布局获得商机。 对于已布局TIKTOK直播或者待布…

【Linux】开发工具

目录 Linux编译器-gcc/g使用执行命令:我们的.o和库是如何链接的? make/Makefile依赖关系、依赖方法 Linux编译器-gcc/g使用 gcc只能编译c语言,g可以编译c语言也可以编译g 背景知识: 预处理(进行宏替换)编译(生成汇编)…

我的Windows10下的WSL的使用经历

微软每年都会举办Build开发者大会,近年来越来越受关注的Linux 子系统Windows Subsystem for Linux(WSL)已经很完善了,我抱着体验一把的心态,也来使用一下这个功能。 各位新手Linux朋友们,有没有想过怎么在…

ubuntu18.4(后改为20.4)部署chatglm2并进行基于 P-Tuning v2 的微调

下载驱动 NVIDIA显卡驱动官方下载地址 下载好对应驱动并放在某个目录下, 在Linux系统中安装NVIDIA显卡驱动前,建议先卸载Linux系统自带的显卡驱动nouveau。 禁用nouveau 首先,编辑黑名单配置。 vim /etc/modprobe.d/blacklist.conf 在文件的最后添加…

Python实现【亚马逊商品】数据采集

亚马逊作为最大的跨境电商平台之一,其产品一直备受关注,因此采集亚马逊产品功能也是部分卖家所需的,下面我们来了解一下采集亚马逊产品是如何操作的。 l 采集网站 【场景描述】采集亚马逊搜索关键词出来的商品信息。 【入口网址】https://…

MES系统在工业生产中的重要性与功能

MES系统在工业生产中的重要性体现在它的信息化管理能力。传统的生产管理方法主要依靠人工操作和纸质文档记录,效率低下且容易出错。而MES系统利用计算机技术和数据库管理,能够实时记录和监控生产数据,提供准确的生产情况分析报告,…

2023年中国高尔夫服饰市场规模、主要品牌及行业发展方向分析[图]

高尔夫服饰是指高尔夫运动的专用服饰,高尔夫运动作为商务交流的手段和工具,具有较强的商务属性,高尔夫服饰除了具备专业功能属性以外,具备较强的时尚性,适合于商务、日常、休闲等多场景穿戴。高尔夫服饰里的主要类别&a…

快速上手视频下载助手:简单操作,高效下载你心仪的影片

在如今的社交媒体时代,视频已成为人们生活中不可或缺的一部分。微信视频号作为新兴的视频平台,吸引了越来越多的用户。然而,与其他视频平台相比,微信视频号并不支持视频下载功能,给用户带来了不便。但是,不…

React之Jsx如何转换成真实DOM

一、是什么 react通过将组件编写的JSX映射到屏幕&#xff0c;以及组件中的状态发生了变化之后 React会将这些「变化」更新到屏幕上 在前面文章了解中&#xff0c;JSX通过babel最终转化成React.createElement这种形式&#xff0c;例如&#xff1a; <div>< img src&q…

Vue 2 生命周期与 Vue 3 生命周期:介绍与差别对比

目录 引言&#xff1a; 一、Vue 2 生命周期介绍&#xff1a; 二、Vue 3 生命周期介绍&#xff1a; 注册周期钩子​ 生命周期图示 生命周期 三、Vue 2 生命周期与 Vue 3 生命周期的差别对比&#xff1a; 引言&#xff1a; Vue.js 是一款流行的 JavaScript 框架&#xff0…

仿真数字正弦波发生器程序

1&#xff09;构建这个IOC程序的程序框架&#xff1a; orangepiorangepi5:/usr/local/EPICS/program/simScope$ ls bin configure db dbd iocBoot lib Makefile simScopeApp2&#xff09;修改configure下RELEASE文件&#xff0c;添加所需的支持模块&#xff0c;此IOC程…

ThinkPad电脑HDMI接口失灵如何解决?

ThinkPad电脑HDMI接口失灵如何解决&#xff1f; 如果平时正常使用的外接显示器&#xff0c;某天突然无法使用了&#xff0c;重新插拔依然无信号的话&#xff0c;可以打开系统的设备管理器&#xff08;快捷键winx&#xff09;&#xff0c;首先看一下监视器的识别情况&#xff0c…

人声分离神仙网站,用过都说好~

在生活中好听的音乐有千千万的&#xff0c;音乐是非常容易可以找到下载下来的&#xff0c;但是背景音乐相当不容易找的&#xff0c;我们看的某短视频的背景音乐我们觉得不错的&#xff0c;想要下载下来的时候&#xff0c;我们都会无从下手不知道如何才可以找到这个相关的背景音…

内网渗透-内网信息收集

内网信息收集 前言 当我们进行外网信息收集&#xff0c;漏洞探测以及漏洞利用后&#xff0c;获得了主机的权限后&#xff0c;我们需要扩大渗透的战果时&#xff0c;这是我们就要进行内网的渗透了&#xff0c;内网渗透最重要的还是前期的信息收集的操作了&#xff0c;就是我们的…

文件加密丨最值得收藏的3种方法

信息的安全性变得越来越重要。文件加密作为一种有效的信息安全保护手段&#xff0c;广泛应用于各类场景。 今天就分享3种值得小白收藏的文件加密的方法&#xff1a; 方法一 简单加密 简单加密是一种常见的文件加密方法&#xff0c;其原理是通过使用简单的加密算法和密钥&…

YUV格式详解

YUV 可以将亮度信息&#xff08;Y&#xff09;与色度信息&#xff08;UV&#xff09;分离&#xff0c;没有UV信息一样可以显示完整图像&#xff0c;只不过是黑白的,也是一种颜色编码方法&#xff0c;&#xff0c;YUV和RGB可以通过公式互相转换&#xff0c;图片中每一个像素的颜…

响应式网站建站源码系统+完整的搭建教程

互联网已成为人们生活中不可或缺的一部分。在这个信息爆炸的时代&#xff0c;企业和个人对网站的需求不再仅仅是展示信息&#xff0c;而是要求网站能够适应各种设备、屏幕尺寸和网络环境&#xff0c;以便更好地与用户进行互动。因此&#xff0c;响应式网站建设应运而生&#xf…