首页 > 其他分享 >数据结构基础

数据结构基础

时间:2023-07-30 15:32:34浏览次数:33  
标签:元素 基础 正确性 算法 数据结构 数据 输入 结构

逻辑结构和物理结构

记录一下最近开始学习的数据结构与算法
逻辑结构

是指数据对象中数据元素之间的相互关系。

  • 集合结构

集合结构中数据元素,除了都属于一个集合外,无其它关系

数据结构基础_逻辑结构

  • 线性结构

数据元素之间是一对一的关系

数据结构基础_健壮性_02

  • 树形结构

数据元素之间存在一对多的关系

数据结构基础_数据_03

  • 圆形结构

数据元素存在多对多的关系

数据结构基础_逻辑结构_04

物理结构

数据的逻辑结构在计算机中的存储形式

  • 顺序存储结构

字面意思,把数据元素存放在地址连续的存储单元中

  • 链式存储结构

数据元素将存放在任意位置,可以是连续的也可以是不连续的

数据结构基础_健壮性_05

算法的特性

算法具有五个基本特性:输入、输出、有穷性、确定性和可行性

  • 输入输出 算法具有零个或多个输入,同时具有一个或多个输出
  • 有穷性 算法执行有限的步骤之后,自动结束而不会出现无限循环,并且每个步骤在可接受的时间内完成
  • 确定性 算法的每一步骤都有确定的含义,不会出现二义性(相同的输入只能有相同的结果)
  • 可行性 算法的每一步必须是可行的,也就是说,每一步都能够通过有限次数完成
算法设计的要求

设计的要求:正确性、可读性、健壮性、时间效率高和存储量低

  • 正确性 算法的正确性是指算法至少应该具有输入、输出和加工处理无歧义性,能正确反映问题的需求,能够得到问题的正确答案
  • 可读性 算法设计的另一种目的是为了便于阅读、理解和交流
  • 健壮性 当输入数据不合法时,算法能做出相关处理,而不是产生异常
  • 时间效率高和存储量低

标签:元素,基础,正确性,算法,数据结构,数据,输入,结构
From: https://blog.51cto.com/u_15308023/6901115

相关文章

  • 深度学习基础语法
    深度学习基础-李沐课程跟学数据操作+数据预处理定义一个1-11个数值的一维张量x=torch.arange(12)tensor([0,1,2,3,4,5,6,7,8,9,10,11])通过shape访问张量的形状和张量中元素的总数x.shape元素总数x.numel改变一个张量的形状,但是不改变......
  • 37 pinctrl(三)数据结构
    1.pinctrl在devicetree中的定义和使用2.pinctrldriverinit3.常用数据结构pinctrl驱动的注册主要实现函数structpinctrl_dev*pinctrl_register(structpinctrl_desc*pctldesc, structdevice*dev,void*driver_data)从设备树中获取pinctrl_desc,然后将......
  • 408-数据结构算法题笔记
    常用基本操作1.定义整数无穷大#defineINT_MAX=0x7f7f7f7f;2.绝对值函数intabs_(intx){ if(x<0)return-x; returnx;}3.最大最小值函数(一般可以直接写吧)intmin(inta,intb){ if(a<b)returna; returnb;}说明时空间复杂度可以先设neg:代码规范1.函......
  • 《Kali渗透基础》11. 无线渗透(一)
    @目录1:无线技术特点2:IEEE802.11标准2.1:无线网络分层2.2:IEEE2.3:日常使用标准2.3.1:802.112.3.2:802.11b2.3.3:802.11a2.3.4:802.11g2.3.5:802.11n3:无线网络运行模式3.1:Infrastructure3.2:AD-HOC3.3:WDS3.4:MonitorMode4:无线技术概念4.1:信号单位4.2:全向天线4.3:定向天线本系列侧重方法......
  • JFrame一些基础小知识
    JFrame.setLocationRelativeTo方法JFrame.setLocationRelativeTo()是一个JavaSwing中的方法,它用于将窗口居中显示在屏幕上。当你调用该方法时,它会将窗口的位置相对于传入的组件进行定位。如果你传入的是null,则窗口将基于屏幕的中心点进行定位。以下是一些常见的使用方法://将......
  • 三个编程思想:面向对象编程、面向接口编程、面向过程编程【概念解析系列_1】【C# 基础
    〇、前言对于.Net中的编程思想还是十分重要的,也是编码出高效的程序的基础!在使用之前了解其本质,那么用起来就游刃有余。下面来简单对比下三个编程思想,看下它们都是什么,它们之间又有什么关系。一、对象、接口、过程稍等,在介绍主角之前呐,先来了解下它们思想的基础是怎么回事。......
  • 抽象类 vs 接口【概念解析系列_2】【C# 基础】
    〇、前言抽象类和接口的相似之处还是很多的,但是它们的侧重点不同,本文将简单梳理下。一、简介与示例1.1抽象类抽象类就是不能使用new方法进行实例化的类,即没有具体实例对象的类。抽象类有点类似于“模板”的作用,目的是根据其格式来创建和修改新的类,对象不能由抽象类直接创......
  • 17-数仓基础理论
    1.数据仓库数据仓库(DataWarehouse,简称数仓、DW)是一个用于存储、分析、报告的数据系统。数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(DecisionSupport)。数据仓库本身并不“生产”任何数据,其数据来源于不同外部系统;同时数据仓库自身也不需要“消费”任何的......
  • 产品设计基础
    目录一、初识产品产品开发整体流程产品技术中心核心人员产品经理岗位职责常见误区产品经理能力素质专业技能综合素质常用工具二、问题思考维度抓住核心用户为什么要抓住核心用户核心用户特征如何抓住核心用户场景化分析场景五要素场景化分析方法场景化分析方法应用需求收集与辨别......
  • pandas模块--------------------基础篇学习
    1.读取Excel数据Python通过pandas库可以轻松地读取Excel数据。pandas库是一个专门用于数据分析和处理的库,它可以将Excel中的数据读取为DataFrame格式,便于进行后续的数据分析和操作。importpandasaspddata=pd.read_excel('new.xlsx')print(data,type(data))2.同样是......