当前位置:首页 > 科技  > 软件

数据结构与集合的不解之缘,你了解多少?

来源: 责编: 时间:2023-11-07 17:16:32 158观看
导读本篇文章将简要介绍数据结构,让读者了解它们在计算机中以何种结构方式存在。那么,什么是数据结构呢?下面我们来详细解释。数据结构1.1 数据结构有什么用?数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在

本篇文章将简要介绍数据结构,让读者了解它们在计算机中以何种结构方式存在。那么,什么是数据结构呢?下面我们来详细解释。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

数据结构

1.1 数据结构有什么用?

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com


WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

数据结构往往同高效的检索算法和索引技术有关。这句话是啥意思呢?WUU28资讯网——每日最新资讯28at.com

我们举个简单的例子。就像金庸小说中所写的,武功招式就相当于我们的算法,而数据结构就是我们的内功心法;而武功的高低,不仅仅是武功招式,更重要的是 学会的内功心法。就比如张无忌在学会九阳神功之后,就可以大战六大门派。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

而数据结构的学习,也会让我们事半功倍。凭借着“数据结构+算法=程序”这句话,Pascal之父获得了图灵奖。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

总结来说:WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

数据结构就是一种是将世界上各种数据转化为计算机可以存储和操作的形式,定义了逻辑结构如何在计算机上存储,以及相关的基本操作。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

算法是程序猿通过调用不同数据结构的基本操作,从而实现了数据的处理。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

而这两点使我们作为程序开发人员的必备基本功,不是一朝一夕就能成为绝世高手的,我们需要一步步去不断的学习积累,积硅步以致千里。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

1.2 常见的数据结构

在计算机学科中,数据结构是一门很重要的基础学科,知识点很多。在这里我们不讲那么多,只讲述我们集合中用到的几种数据结构,同学们可以下去自行学习更多的数据结构的知识。常用结构三个:数组、链表、红黑树。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

我们分别来了解一下:WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

1)数组

数组的定义:WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

  • 数组是相同类型数据的有序集合;
  • 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成;
  • 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。

WUU28资讯网——每日最新资讯28at.com

存储思路:WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

所有数据存储在连续的空间中,数组中的每个元素都是一个具体的数据。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

数组的特点:WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

  • 使用连续分配的内存空间;
  • 一次申请一大段连续的空间,需要事先声明最大可能要占的固定内存空间。

WUU28资讯网——每日最新资讯28at.com

如下图:WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com


WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

  • 通过索引,查询快
  • 当给数组插入新元素时,数组中的a2,a3,a4整体后移,代价高。
  • 如果插入元素时,数组长度,还要重新创建一个数组,然后循环赋值,代价高

WUU28资讯网——每日最新资讯28at.com

优点:WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

设计简单,读取与修改表中的任意一个元素的时间都是固定的,速度快 。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

缺点:WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

容易造成内存浪费;删除或者插入数据需要移动大量数据,速度慢。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

2)链表

每个数据单独存在一小块内存中,这个单元叫做节点,每个节点知道下一个节点的地址,叫做单向链表。每个节点既知道下一个节点地址,又知道上一个节点地址,叫做双向链表。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

链表的特点:WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

  • 使用不连续的内存空间;
  • 不需要提前声明好指定大小的内存空间,一次申请一小块,按需申请。

WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

查询元素,需要通过节点一次向后查找,直到查找到指定元素WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

增删元素:只需修改连接节点的地址即可。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

优点: 充分节省内存空间,数据插入和删除方便,不需要移动大量数据。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

缺点: 查询数据必须按顺序找到该数据,操作麻烦。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

3)红黑树

简单理解,就是一种类似于我们生活中树的结构,只不过每个节点最多只有两个叶子。计算机世界的树,刚好与我们现实中的树成镜像相反,树根在上,树枝在下。二叉树如下图:WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

而我们要说的是二叉树的一种比较有意思的叫做红黑树,红黑树本身就是一颗二叉查找树。我们在这里只需要记住它的特点就可以非常方便的对树中的所有节点进行排序和检索。WUU28资讯网——每日最新资讯28at.com

WUU28资讯网——每日最新资讯28at.com

小结

本文介绍了三种常用的数据结构:数组、链表和红黑树,以及这些数据结构在计算机中的重要意义。通过学习这些内容,我们可以逐步深入了解计算机世界。WUU28资讯网——每日最新资讯28at.com


WUU28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-17547-0.html数据结构与集合的不解之缘,你了解多少?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 使用Python从零实现多分类SVM

下一篇: 基于Topic的消息发布与消费模式

标签:
  • 热门焦点
  • 消息称迪士尼要拍真人版《魔发奇缘》:女主可能也找黑人演员

    消息称迪士尼要拍真人版《魔发奇缘》:女主可能也找黑人演员

    8月5日消息,迪士尼确实有点忙,忙着将不少动画改成真人版,继《美人鱼》后,真人版《白雪公主》、《魔发奇缘》也在路上了。据外媒消息称,迪士尼将打造真人版
  • Automa-通过连接块来自动化你的浏览器

    Automa-通过连接块来自动化你的浏览器

    1、前言通过浏览器插件可实现自动化脚本的录制与编写,具有代表性的工具就是:Selenium IDE、Katalon Recorder,对于简单的业务来说可快速实现自动化的上手工作。Selenium IDEKat
  • 十个简单但很有用的Python装饰器

    十个简单但很有用的Python装饰器

    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用
  • 10天营收超1亿美元,《星铁》比《原神》差在哪?

    10天营收超1亿美元,《星铁》比《原神》差在哪?

    来源:伯虎财经作者:陈平安即便你没玩过《原神》,你一定听说过的它的大名。恨它的人把《原神》开服那天称作是中国游戏史上最黑暗的一天,有粉丝因为索尼在PS平台上线《原神》,怒而
  • 猿辅导与新东方的两种“归途”

    猿辅导与新东方的两种“归途”

    作者|卓心月 出品|零态LT(ID:LingTai_LT)如何成为一家伟大企业?答案一定是对“势”的把握,这其中最关键的当属对企业战略的制定,且能够站在未来看现在,即使这其中的
  • iQOO 11S评测:行业唯一的200W标准版旗舰

    iQOO 11S评测:行业唯一的200W标准版旗舰

    【Techweb评测】去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,该机不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞
  • 2299元起!iQOO Pad开启预售:性能最强天玑平板

    2299元起!iQOO Pad开启预售:性能最强天玑平板

    5月23日,iQOO如期举行了新品发布会,除了首发安卓最强旗舰处理器的iQOO Neo8系列新机外,还在发布会上推出了旗下首款平板电脑——iQOO Pad,其搭载了天玑
  • 苹果140W USB-C充电器:采用氮化镓技术

    苹果140W USB-C充电器:采用氮化镓技术

    据10 月 30 日 9to5 Mac 消息报道,当苹果推出新的 MacBook Pro 2021 时,该公司还推出了新的 140W USB-C 充电器,附赠在 MacBook Pro 16 英寸机型的盒子里,也支
  • 亲历马斯克血洗Twitter,硅谷的苦日子在后头

    亲历马斯克血洗Twitter,硅谷的苦日子在后头

    文/刘哲铭  编辑/李薇  马斯克再次挥下裁员大刀。  美国时间11月14日,Twitter约4400名外包员工遭解雇,此次被解雇的员工的主要工作为内容审核等。此前,T
Top