首页 > 其他分享 >[数据结构学习笔记1] 为什么需要有数据结构

[数据结构学习笔记1] 为什么需要有数据结构

时间:2025-01-02 19:18:45浏览次数:1  
标签:扳手 笔记 学习 移除 工具 数据结构 工具箱 大箱子

程序本质上就是用来读取数据,然后操作数据,最后生成数据的。如果数据能被有效,或者有结构的展现,那将极大方便程序操作。

举例:

我们家里有很多工具,剪刀,锤子,斧头,扳手,放大镜,六角扳手,螺丝刀,尺子,卷尺,螺丝,便利贴等等。我们可以怎样收纳这些工具,使得我们后续可以方便的使用呢?

第一种,我们家有个大箱子,我可以把这些工具一股脑扔进大箱子里,然后就好了。当我想要用一个工具的时候,我需要翻箱倒柜的找,如果刚好在上面,那就找的快,要是被压在下面,就要把上面的取出来,最好拿到需要的工具。

第二种,我们家有个专门的工具箱,可以把大小工具归类。当放工具的时候,就不能随意扔进去,而是,专门的工具在特定的位置。这种工具箱,在放置工具的时候,就会慢一些,但是使用的时候,可以直接到特定位置去拿。

两种方法其实各有优缺点:

大箱子:放的快,查找,移除慢;

工具箱:放的慢,查找,移除快。

回到数据结构,我们有数组,链表,堆栈,队列,树,二叉树,二叉搜索树,堆,哈希表,前置树等。每个数据结构都有自己的特色,本身没有谁是更好,只有最合适解决问题的结构。

标签:扳手,笔记,学习,移除,工具,数据结构,工具箱,大箱子
From: https://www.cnblogs.com/Eagle6970/p/18648604

相关文章

  • 以太坊 solidity 笔记
    基础知识gasgas是衡量执行某些操作所需的计算量的单位,用来计算为了执行操作而需要支付给网络的费用数额。通俗理解,Gas是给矿工的佣金,并以ETH支付,无论是交易、执行智能合约并启动DApps,还是支付数据存储费用,都需要用到Gas。Gas的目的是限制执行交易所需的工作量,同时为执行......
  • Java-数据结构-包装类与泛型
    一、包装类Java的包装类指的是将基本数据类型(如int、float、boolean等)封装成对象的类。Java中的8个基本数据类型(byte、short、int、long、float、double、char、boolean)都有对应的包装类。①基本数据类型对应的包装类基本数据类型包装类byteByteshortShortintIntegerlongLo......
  • Java学习笔记06-多态polymorphism
    一、多态1、含义:多态是在继承/实现情况下的一种现象,表现为:对象多态、行为多态多态的具体代码体现:packageorg.example.polymorphism1;publicclassAnimal{publicStringname="动物";publicvoidrun(){System.out.println("动物跑");}......
  • Java学习笔记05-继承extends-03
    一、构造器用this(...)调用兄弟构造器作用:在构造器中调用本类的其他构造器注意事项:super(...)和this(...)必须写在构造器的第一行,且二者不能同时出现。代码演示:1、首先定义一个学生类,写好get和set方法,构造器和重写toString()方法packageorg.example.extends6constructor;......
  • 线性基学习笔记
    线性基很好理解,可以理解成\(n\)维的向量。我们先考虑\(n=2\),这是我们最熟悉的,可以在平面直角坐标系上表示出来。众所周知,在一个平面内,两个不共线的向量\(e_1\)和\(e_2\),可作为基底,即所有可在原坐标系上表示的向量\(x\)均可被\(e_1\)和\(e_2\)表示为\(\lambdae_1+......
  • DL00683-基于YOLO深度学习的煤矸石目标检测系统含完整源码可支持摄像头等
    煤矸石是煤矿开采过程中产生的一种固体废弃物,含有大量无用矿物质,若未能有效处理,可能对环境和人类健康造成严重影响。随着煤矿开采规模的扩大,煤矸石的堆放量日益增加,如何快速准确地检测和处理煤矸石成为了一个亟待解决的环境问题。传统的煤矸石检测方法通常依赖人工目测或简单的传......
  • 【学习笔记】图的连通性相关
    1.无向图的连通性见【学习笔记】无向图的连通性。2.圆方树2.1定义&性质圆方树用来解决需要无向图按点双缩点的问题。这里的点双指的是无割点极大连通子图。由割点的性质可得,不同的点双之间,实际上是通过割点来连接的。那么怎么“缩点”?事实上,对于点双来讲,应该叫“缩边......
  • 如何使用ai高效学习?
    如何使用ai高效学习?大语言模型做毕设:首先把主要工作任务和目标发送给o1-pro,生成初版解决方案https://gptgod.online/#/register?invite_code=4o5l5tgd5mo28hovym97vbjff然后把o1-pro生成的答案复制给geminiexperiment1206https://aistudio.google.com提示词:请不要把......
  • 学习笔记:C#高级进阶语法——反射
    二、反射(Reflection)1、反射:就是一个微软提供的帮助类库,可以解析并使用元数据。2、exe/dll----ILSpy工具打开会包含matedata(元数据),描述了当前程序集中有哪些元素成员3、反射动态加载dll文件,调用方法{//1、引用,2、new,3、调方法IDBHelperhelper=newSqlServerHel......
  • 学习笔记:C#高级进阶语法——泛型
    一、Generic(泛型)1、泛型的定义:通用的类型就是泛型//在一个方法,传入的参数不确定的时候,我们可能要重写多次这个方法publicvoidShow(stringt){Console.WriteLine($"Thisis{typeof(CommonMethod).Name},parameter={t.GetType().Name},type={t}");}publicvoidShow(i......