前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初识数据结构

初识数据结构

作者头像
Sky_Mao
发布2020-07-24 10:11:17
3340
发布2020-07-24 10:11:17
举报

一、数据结构与算法概述

1、数据结构
定义:

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合; 通俗点来讲的话:我们把现实世界中海量以及复杂的问题,以特定的数据类型和特定的存储结构保存到主存储器(内存)中;

特定的数据类型、特定的存储结构释义:

例1:当我需要存储一个班级学生的信息,假设有20个学生,那么直接可以使用连续的存储结构(数组)就可以了。

例2:如果需要保存1万个人,这个时候依然可以使用数组来存储,但是这样就比较困难了,当数据量很大的时候,数组的连续内存空间无法支撑那么大的数据量,这个时候就可以使用链表进行保存,它不需要一块连续的空间。例如图2-1,每一块内存都不是连续的,每一块内存除了需要保存自身属性外,还额外存储一个指针,这个指针指向下一块内存的地址,以此来串联起来。

2-1

例3:如果说现在需要存储学校、年级、班级的数据,那么链表就无法进行存储了,链表无法体现出来层级,这个时候就需要使用树形结构来存储。

如图3-1

3-1

例4:还有一种情况,存储交通图的情况,每一个站点都存在关系,这个时候用数组存储不了、链表、树也存储不了,这个时候就只能使用图来存储了。

2、算法:
定义:

实现某个功能而执行的相应的操作叫做算法;

衡量算法的标准:
  1. 时间复杂度;程序大概执行的次数(算法最核心的步骤运行的次数),而非执行的时间。因为执行的时间会因为环境的差异而发生变化。
  2. 空间复杂度;算法执行过程中大概需要占用最大内存;
  3. 可读性(难易程度);如果写的算法只有自己看的懂,它也不算做是好的算法。
  4. 健壮性;在算法输入一些非法值的时候不能产生崩溃。

还有一个是正确性,但是这个标准比较废话,算法最基本的就是计算正确了,如果计算不正确它也不叫算法了。

二、数据结构的结构划分

数据结构整体可划分为逻辑结构和物理结构
  1. 逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关;这个也是主要的研究方向。
  2. 物理结构:指数据的逻辑结构在计算机存储空间的存放形式;
逻辑结构包含的内容:
  1. 集合:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;

集合

  1. 线性结构:数据结构中的元素存在一对一的相互关系;
  2. 树形结构:数据结构中的元素存在一对多的相互关系;

树形结构

  1. 图形结构:数据结构中的元素存在多对多的相互关系。

图形结构

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、数据结构与算法概述
    • 1、数据结构
      • 定义:
      • 特定的数据类型、特定的存储结构释义:
    • 2、算法:
      • 定义:
      • 衡量算法的标准:
      • 数据结构整体可划分为逻辑结构和物理结构
      • 逻辑结构包含的内容:
  • 二、数据结构的结构划分
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档